是否有可能(以某种方式)拥有Git( local )相对修订版( commit )数字,例如Mercurial 0,1 ,2,3,...而不是短暂的哈希?
或其他用户友好型?
答案 0 :(得分:41)
只需使用:
master~10
获取分支master
上的第10个最后一次提交。master^
获取分支master
上的第二次最后一次提交。master^^
获取分支master
上的第三个最后一次提交。甚至可以合并:master^^~5^
。
master
可以是任何分支名称(本地或远程)或HEAD
来引用当前提交。
您可以使用master^2
获取第二个合并父级。
答案 1 :(得分:2)
只要它是唯一的,您就可以始终通过using a prefix of its SHA-1 hash引用提交。例如,如果您要结帐980e3ccdaac54a0d4de358f3fe5d718027d96aae
,只要没有其他提交以git checkout 980e
开头,您就可以使用980e
。
答案 2 :(得分:2)
我刚刚做了一件事:dash-r。它仍然很粗糙,但你可能会发现它很有用。
基本上,它是一个垫片,可以使用如下提交行生成基本git日志的修改版本:
commit 4 id: a4d0892d38f4d72902e35a5b1ca11e602fffcef6
然后通过用反引号围绕-r
调用来引用这些数字:
git diff `-r 2`
(假设你在名为“-r”的路径中安装它。我这样做,因为如果我忽略反引号它看起来像常规选项。)
它甚至可以处理范围和负数:
git diff `-r 2..-2`
Git缺乏修订号是我对Git变暖的主要障碍。在git log
中看到SHA哈希值打破了我的流量。所以我希望它能帮助我们两个人。
答案 3 :(得分:0)
简答: No。 Yes。
但是,您可以使用git-tag。例如,要将最新提交标记为版本1.2,请执行以下操作:
git tag -a v1.2 HEAD
此页面介绍了如何将其用于版本控制:http://grinninggecko.com/commit-version-numbers-with-git/