6

谁能解释为什么 git describe 使用计数作为“将由 git log tag..input 显示的提交数” [来自git-describe(1) ]?

从概念上讲,我认为 git-describe 使用自标记以来的提交次数作为单调递增的计数器。但是,它似乎实际上使用了“输入”可达到的提交数减去“标签”可达到的提交数。这是为什么?

在这种特殊情况下,我创建了一个发布标签(“1.0.0”),然后在一个分支(“1.0”)上创建了一个补丁发布(“1.0.1”)。我已经合并 ​​[参见http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html ] 分支更改为 master。然而,当我在 master 上 git-describe 一个更新的提交时,计数与 git log tag..input 的输出相匹配。我希望它与 git log --ancestry-path tag..input 匹配。

谢谢。

4

1 回答 1

1

git describe是一种以HEAD有意义的方式进行交流的方式。这是对“我在历史上的什么位置”这个问题的简单回答。或“这是什么版本的代码?”

因此,当您运行命令时,它会从您当前所在的位置开始,无论是 的尖端master、其他标签还是随机提交。从这个起点开始,它通过提交向后计数,直到找到一个标签。从那里它将打印标签,计算的提交数,然后是简短的提交数。

于 2012-12-27T23:37:26.883 回答