首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Git中检索当前提交的哈希?

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

Stack Overflow用户
提问于 2009-06-04 16:42:51
回答 21查看 1.1M关注 0票数 2.3K

我希望(目前)保留将Git变更集链接到存储在TFS中的工作项的能力。

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

我还想将Git提交的散列存储在自定义的TFS工作项字段中。这样,我就可以在TFS中检查工作项,并查看与该工作项关联的Git变更集。

如何才能轻松地从Git的当前提交中检索散列?

EN

Stack Overflow用户

发布于 2015-10-15 03:15:47

如果你想用超级黑客的方式做到这一点:

代码语言:javascript
复制
cat .git/`cat .git/HEAD | cut -d \  -f 2`

基本上,git将HEAD的位置存储在.git/HEAD中,格式为ref: {path from .git}。这个命令读出它,切下"ref:",然后读出它所指向的任何文件。

当然,这在独立HEAD模式下会失败,因为HEAD不会是"ref:...",而是散列本身-但你知道,我认为你的bash一行程序不会有那么多的智能。如果你不认为分号在作弊...

代码语言:javascript
复制
HASH="ref: HEAD"; while [[ $HASH == ref\:* ]]; do HASH="$(cat ".git/$(echo $HASH | cut -d \  -f 2)")"; done; echo $HASH
票数 20
EN
查看全部 21 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/949314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档