git describe:莫名其妙的提交计数

时间:2015-08-06 10:07:30

标签: git git-flow smartgit git-tag git-describe

请考虑git log --oneline --decorate --graph的摘录:

*   552485a (HEAD -> master, origin/master) Finish v0.8.4
|\
| * c198066 (tag: v0.8.4) some commit message
* |   343af72 Finish v0.8.3
|\ \
| |/
| * 0267e30 (tag: v0.8.3) some commit message
* |   8f0ff57 some commit message
|\ \
| |/
...

(注意:标签v0.8.4来自分支'develop'的提交)

当我跑git describe时,我得到了这个:

v0.8.4-16-g552485a

也就是说,git从标记v0.8.4开始计数16次提交。我希望它能返回v0.8.4-1-g552485a

更具体地说(使用--debug选项时):

suche zur Beschreibung von HEAD
beendete Suche bei b53e85f9c8ee785c0ce50f727819b267107554fd
 annotated         16 v0.8.4
 annotated         17 v0.8.3
 annotated         18 v0.8.2
 annotated         22 v0.8
 annotated         49 v0.7
 annotated         60 v0.6
 annotated         85 v0.5
103 Commits durchlaufen
v0.8.4-16-g552485a

有趣的是,如果我切换到我的开发分支:

0992f78 (HEAD -> develop, origin/develop) Some commit message.
c198066 (tag: v0.8.4) Minor change.
0267e30 (tag: v0.8.3) Minor changes.

git describe按预期返回:v0.8.4-1-g0992f78

背景:我正在使用SmartGit及其Git-Flow功能。

这是相关提交的图形视图(红色:主,蓝色:开发):

enter image description here

1 个答案:

答案 0 :(得分:1)

该数字不仅使用自标签以来的提交进行计算。在合并的情况下,也包括其他分支的提交。

git-describe

的文档
  

附加提交的数量是“git log v1.0.4..HEAD”显示的提交数。