git - Git如何检索当前提交的散列?

  显示原文与译文双语对照的内容

我目前正忙于从 Team Foundation服务器的versioncontrol部分迁移到 Git 。 在 tfs, ( 所以我才迁移离开又是另外一回事;^ ) 但是,我想保留( 现在) stored. Git变更集链接到工作项目的能力

我已经编写了一个工具( 使用来自Git的钩子),可以将workitemidentifiers注入到Git变更集的消息中。

但是,我也想将Git提交( 哈希)的标识符存储到自定义的TFS工作表中。 这样我可以在TFS中检查一个工作项,并查看哪些Git变更集与工作项相关联。

如何从Git的当前提交轻松检索哈希?

时间:

要将任意扩展对象引用转换为 SHA-1,只需使用 git-rev-parse,例如

 
git rev-parse HEAD

 

或者


git rev-parse --verify HEAD

Sidenote之后: 如果你想转引用 ( 分支和标记 ) 成 SHA-1,有git-show-ref和 git-for-each-ref 。

如果在脚本中需要将哈希存储在变量中,则可以使用


last_commit=$(git rev-parse HEAD)

或者,如果你只想要前 10个字符( 比如github使用)


last_commit=$(git rev-parse HEAD | cut -c0-10)


git show-ref --head --hash head

如果你想加快速度,的方法是 Deestan


cat. git/refs/heads/<branch-name>

比目前列出的其他方法快得多。

...