Git命令显示HEAD提交ID?

And*_*ott 216 git version-control

我可以用什么命令打印出HEAD的提交ID?

这就是我手工做的事情:

$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1
Run Code Online (Sandbox Code Playgroud)

但我需要一个脚本,可以将某些命令的输出可靠地传递给文本文件,使得文本文件恰好包含HEAD的提交ID(不多或少,而不仅仅是ref).有人可以帮忙吗?

Ran*_*rtz 398

使用命令:

git rev-parse HEAD
Run Code Online (Sandbox Code Playgroud)

对于简短版本:

git rev-parse --short HEAD
Run Code Online (Sandbox Code Playgroud)

  • 对于任何寻找哈希的简短版本的人来说,`git rev-parse --short HEAD`将会起作用. (31认同)

Abh*_*der 13

旧线程,仍然供将来参考...... :)甚至以下作品

git show-ref --head
Run Code Online (Sandbox Code Playgroud)

默认情况下,HEAD被过滤掉.但要注意以下事项; 复数"头",末尾有's'.以下命令显示"refs/heads"下的分支

 git show-ref --heads
Run Code Online (Sandbox Code Playgroud)

  • 在(大)git repo中使用这些命令,我​​得到了来自`git show-ref --heads`的两行和来自`git show-ref --head`的6290行.所以如果你只想要一个哈希,这可能不是预期的结果. (4认同)

小智 6

玩 Bash:

git show HEAD | sed -n 1p | cut -d " " -f 2
Run Code Online (Sandbox Code Playgroud)


Jot*_*aBe 5

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

git log -1 --format=%H

如果您喜欢缩短的提交ID:

git log -1 --format=%h