Git命令显示HEAD提交id?

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

这是我用手做的:

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

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

322942 次浏览

使用命令:

git rev-parse HEAD

简而言之:

git rev-parse --short HEAD

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

git show-ref --head

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

下的分支
 git show-ref --heads

玩Bash:

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

仅用于提交id

git log | head -n 1

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

git log -1 --format=%H

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

git log -1 --format=%h

git rev-parse --abbrev-ref HEAD

您可以使用该命令

$ git rev-list HEAD

你也可以使用head Unix命令来显示最新的n HEAD提交

$ git rev-list HEAD | head -n 2

你可以使用

git log -g branchname

查看像git log输出一样格式化的git reflog信息以及提交id。