git description: необъяснимое количество коммитов

Рассмотрим этот отрывок 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 считает 16 коммитов, начиная с тега v0.8.4. Я ожидаю, что это вернется 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.

Вот графическое представление соответствующих коммитов (красный: мастер, синий: разработка):

1 ответ

Решение

Количество рассчитывается не только с коммитов, так как теги. В случае слияния, коммиты другой ветки также включены.

Документация git-description

Количество дополнительных коммитов - это количество коммитов, которое будет отображаться в "git log v1.0.4..HEAD".

Другие вопросы по тегам