Git相对修订号

时间:2011-02-26 18:24:15

标签: git

是否有可能(以某种方式)拥有Git( local )相对修订版( commit )数字,例如Mercurial 0,1 ,2,3,...而不是短暂的哈希?

或其他用户友好型

4 个答案:

答案 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/