我可以使用什么命令来打印HEAD的提交id ?

这是我用手做的:

$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1

但是我需要一个脚本,可以可靠地将一些命令的输出管道到一个文本文件,这样文本文件就包含了HEAD的提交id(没有更多或更少,而不仅仅是一个ref)。有人能帮忙吗?


当前回答

旧线程,仍然供将来参考…:)甚至下面的作品

git show-ref --head

缺省情况下,过滤掉HEAD。 但是要小心;复数“heads”,后面有个“s”。下面的命令显示了“refs/heads”下的分支

 git show-ref --heads

其他回答

你可以使用

git log -g branchname

查看格式类似于git日志输出和提交id的git reflog信息。

旧线程,仍然供将来参考…:)甚至下面的作品

git show-ref --head

缺省情况下,过滤掉HEAD。 但是要小心;复数“heads”,后面有个“s”。下面的命令显示了“refs/heads”下的分支

 git show-ref --heads
git log -1

仅用于提交id

git log | head -n 1 

玩Bash:

git show HEAD | sed -n 1p | cut -d " " -f 2

你可以指定git日志选项,只显示最后一次提交,-1,以及只包含提交ID的格式,如下所示:

git log -1——format=%H

如果你更喜欢缩短提交ID:

Git log -1——format=%h