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".