协慌网

登录 贡献 社区

如何在 Git 中检索当前提交的哈希值?

我想保留(现在)将 Git 变更集链接到存储在 TFS 中的工作项的功能。

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

但是,我还想将 Git 提交的标识符(哈希)存储到自定义 TFS 工作项字段中。通过这种方式,我可以检查 TFS 中的工作项,并查看与工作项相关联的 Git 更改集。

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

答案

要将任意扩展对象引用转换为 SHA-1,请简单地使用git-rev-parse

git rev-parse HEAD

要么

git rev-parse --verify HEAD

旁注:如果要将引用分支标签 )转换为 SHA-1,则有git show-refgit for-each-ref

如果您只想要缩短的哈希:

git log --pretty=format:'%h' -n 1

此外,使用%H 是另一种获取长哈希的方法。

另一个,使用 git 日志:

git log -1 --format="%H"

它与 @outofculture 非常相似,虽然有点短。