Могу ли я изменить способ подсчета git-description?
Мой вопрос связан с git description: необъяснимое число коммитов и вычисление количества коммитов в git-description, но не совсем идентичное ни одному из вопросов. Я разрабатывал ветку функций в моем текущем проекте, и я использую git describe
чтобы получить номера версий для ветви функции, используя последние теги и число коммитов, чтобы сделать номер версии, который, я думал, будет монотонно увеличиваться. (Например, моя ветвь в настоящее время на 96 коммитов опережает v1.1.0, поэтому я v1.1.0-96-g1234567
в "версии 1.1.0.96" в версии, которую я сообщаю пользователю.)
Теперь главная ветвь была недавно помечена как v1.2.0, и я хочу включить изменения, сделанные в версии 1.2, в мою функциональную ветвь. Поэтому я слил master в свою ветку Feature, и я подумал, что git describe
даст v1.2.0-1-g9876543
, Но вместо этого я получил v1.2.0-97-g9876543
,
Я понимаю, почему это происходит: как описано в руководстве по Git, git describe
считает коммиты, произведенные git log v1.2.0..9876543
произвести подсчет коммитов (97, потому что в моей ветке было 96 коммитов плюс один коммит слияния). Но то, что я действительно хочу, это использовать результат git log --ancestry-path v1.2.0..9876543
вместо этого, который показывает только коммит слияния и, следовательно, будет производить v1.2.0-1-g9876543
результат, который я ожидал.
Есть ли способ для меня, чтобы изменить git describe
Поведение использовать git log --ancestry-path v1.2.0..9876543
вместо git log v1.2.0..9876543
?
И, что более важно, какая польза от этого git describe
в настоящее время это делает? Если я напишу свой собственный инструмент для создания схемы нумерации версий, которую я ожидал, что я потеряю при этом?
КСТАТИ. Вот снимок истории репозитория git, так что вы можете визуально увидеть то, что я только что описал. feature/cmdline
филиал это тот, над которым я работаю. (Это представление истории из инструмента Git Extensions в Windows, на случай, если кому-то интересно.)