繁体   English   中英

在Git中,有没有办法获得任意提交的“友好”名称?

[英]In Git, is there a way to get the “friendly” name for an arbitrary commit?

在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”之后,高手~2可能意味着别的东西。 相比之下:

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

现在“v1.6.3.1-153-g3cd7388”是一个永久名称。 当然,它仍然有点长(尽管你可以通过指定“--abbrev = 4”来缩短最后的哈希位),但它传达了版本1.6.3.1之后3cd7388是153次更改。

试试git describe

$ git describe --all --contains 90de2680dc54c0d600b0694bd175bd09357a8dba
master~2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM