GitVersion Mainline - приращение версии при каждом нажатии
Я использую GitVersion с режимом Mainline. С настройками по умолчанию он увеличивает номер патча с каждым коммитом в master. Есть ли способ увеличить количество патчей при каждом нажатии, а не при каждом коммите?
Если я нажму 3 коммита вместе, патч увеличится на 3. В этом случае я получу скачок версии с 2.0.4 до 2.0.7 при сборке VSTS.
GitVersion.yml
mode: Mainline
Примечание: у меня есть только одна ветвь, которая является 'master', и я буду продолжать подталкивать свои изменения непосредственно к master. Я не собираюсь использовать какую-либо стратегию ветвления.
1 ответ
На мой взгляд, у вас есть два доступных варианта.
Вы можете переопределить increment: None
для тебя master
конфигурация ветки:
branches:
master:
increment: None
Но тогда, я думаю, вам всегда нужно будет "вручную" поднять версию вашего кода с помощью коммитов git, например, включить в сообщение коммита: +semver: (major|minor|patch)
, или обновив свой GitVersion.yml
файл, чтобы установить next-version
конфигурация. Я думаю, это сводит на нет многие преимущества использования GitVersion. Но это все же лучше, чем вообще не использовать версии!
Однако утверждение, что вы занимаетесь "основной" разработкой, не обязательно означает, что вы разрабатываете только в основной ветке. Я считаю, что основная разработка в основном подразумевает, что вы выпускаете ветку master (т.е. вы не используете GitFlow с двумя долгоживущими ветвями,master
а также develop
) и что состояние master
в любой момент можно развернуть в производство.
Таким образом, вы можете достичь того, что ищете, используя две разные ветки, как уже сказал @prestonsmith в своем ответе. Вы и ваша команда можете работать в короткоживущих тематических ветках за пределами мастера и в конечном итоге объединяться (либо обычное слияние с фиксацией для сохранения истории, либо сжатое слияние (теряет историю веток и просто вводит одну фиксацию в мастер со всеми изменениями, созданными ветка темы). Это приведет к поведению по умолчанию приращения одной версии патча, которое позже может быть изменено на незначительное или большое приращение с помощью тегов git или, в вашем сообщении о фиксации слияния, добавлении чего-то вроде+semver: (major|minor)
вместо этого увеличивать основной или дополнительный номер версии.
Краткий ответ - нет - извините:(
Однако, если вы решили просто использовать две ветви, вы можете смоделировать это, используя стратегию Git "Squash and Merge" для достижения этой цели. По сути, все ваши коммиты станут одним коммитом в основной ветке (master) после слияния.
Чувствует себя достаточно просто, чтобы оправдать это как предложение:)