Проблема в том, что git tag
показывает все теги во всех ветвях, в то время как git describe
использует только теги для коммитов, которые доступны в текущей ветви .
Вот пример (причина, по которой я пришел сюда на самом деле):
$ git tag | tail -n3
v0.4.0
v0.4.1
v0.4.2
Показывает, что последний доступный тег - v0.4.2
, но это мой вывод git describe
:
$ git describe --tags
v0.4.0-2-acd334c
Я нахожусь в разработке.Когда я копаюсь в журнале, я вижу, что самые последние теги недоступны в текущей ветке:
$ git log --oneline --decorate=short | grep '\(tag\:' | head -n3
acd334c (tag: v0.4.0) Merge pull request #1061
988fe5e (tag: v0.3.6) Merge pull request #859
5f97274 (tag: v0.3.5) Merge pull request #646
Так что в моем случае разработчики решили создать новый релиз ветвь, предназначенная исключительно для пометки выпусков, в результате чего ветвь разработки больше не соответствует тегам.
Надеюсь, что это помогает, и спасибо @eis за идею проверки журналов.