git - 在 Git 中,有没有办法为任意提交获取 "friendly"名称?

标签 git

在 Git 中,有多种方式来引用提交,包括完整的 SHA 哈希或哈希的缩写形式(例如,前 6 个字符左右)。您还可以使用“友好”语法命名提交,例如 HEAD、HEAD^、HEAD^^、HEAD~3 等等。

给定 SHA 哈希形式的任意提交,Git 中是否有工具可以为所述提交找到“友好”名称?

如果我使用 git-show-branch,我会得到一个“友好”形式的修订列表,所以我觉得一定有办法……我就是找不到工具来做到这一点。

最佳答案

您可以使用“git name-rev”来获取您所询问的表格。该形式的一个问题是,相对于分支而言,它不是永久名称。因此,另一种选择是“git describe”,它根据给定提交的标记提前多远生成一个替代的友好名称。

例如:

srh@devo16:~/src/git <master>$ git name-rev 3cd7388
3cd7388 master~2

但是在我执行“git pull”之后,master~2 可能意味着别的东西。相比之下:

srh@devo16:~/src/git <master>$ git describe 3cd7388
v1.6.3.1-153-g3cd7388

现在“v1.6.3.1-153-g3cd7388”是一个永久名称。当然,它仍然有点长(尽管您可以通过指定“--abbrev=4”等方式缩短末尾的散列位),但它表明 3cd7388 在版本 1.6.3.1 之后有 153 个变化。

关于git - 在 Git 中,有没有办法为任意提交获取 "friendly"名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/917102/

相关文章:

git 接收后 Hook 未运行

svn - git-svn merge 2 个 svn 分支

git - PyCharm 5.0.2 "Can' t start git : git. exe》警告弹窗信息

svn - --stdlayout 在 git svn clone 中做什么?

git .BACKUP .BASE .LOCAL .REMOTE 文件

git - 在Docker容器中使用git

objective-c - 如何从 Objective C 中的 GIT 存储库获取文件?

python - git 状态与 python

Ubuntu 上的 Gitolite : No adminkey given

git - 对 git 子模块进行更改,然后将它们添加到我的主项目中