Git命令来显示头提交ID?

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

这是我正在做的手工:

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

但是我需要一个脚本,它可以可靠地将某些命令的输出传递给一个文本文件,使得文本文件包含HEAD的提交ID(没有更多或更less,而不仅仅是一个ref)。 谁能帮忙?

使用命令:

 git rev-parse HEAD 

对于短版本:

 git rev-parse --short HEAD 
 git log -1 

只提交id

 git log | head -n 1 

老线程,仍然为未来的参考… :)甚至下面的作品

 git show-ref --head 

HEAD默认被过滤掉。 不过要注意, 复数“头”,最后是“s”。 以下命令在“refs / heads”下显示分支

  git show-ref --heads 

玩Bash:

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

根据https://git-scm.com/docs/git-log ,为了在控制台中输出更漂亮,你可以使用–decorate参数的git-log命令:

 git log --pretty=oneline --decorate 

将打印:

 2a5ccd714972552064746e0fb9a7aed747e483c7 (HEAD -> master) New commit fe00287269b07e2e44f25095748b86c5fc50a3ef (tag: v1.1-01) Commit 3 08ed8cceb27f4f5e5a168831d20a9d2fa5c91d8b (tag: v1.1, tag: v1.0-0.1) commit 1 116340f24354497af488fd63f4f5ad6286e176fc (tag: v1.0) second 52c1cdcb1988d638ec9e05a291e137912b56b3af test