GitVersion с git-flow: как обрабатывается версия ветви разработки? - PullRequest
0 голосов
/ 05 марта 2019

Я сейчас пытаюсь понять, как gitflow и gitversion работают вместе.Хотя это звучит просто, gitversion творит много магии, которая меня интересует. Копаясь в интернете, я бы сказал, что общие действия для новых релизов таковы:

  1. Iрешить, будет ли новый Релиз иметь ломающие функции или нетЕсли это так, я считаю основную версию, в противном случае я беру версию ветки разработки.О версии релиза сообщается по имени ветви, например, версия / 1.2.0

  2. Я фиксирую исправления и другие незначительные изменения, но нет новых функций в ветке релиза, просто подсчитываюmetdataversion (+ xx), а не реальная версия

  3. Если релиз выходит в онлайн, я объединяю ветку релиза с веткой master и помечаю ветку master с версией релиза.Я также объединяю ветку Release с ветвью разработки, чтобы получить исправления там

Что я не понимаю: Когда я устанавливаю версию ветви разработки?Поскольку ветвь разработки всегда должна быть впереди ветки release и master, я бы сказал, что это должно быть сделано правильно при создании ветки release, например, путем подсчета минорной версии.Если позже я узнаю, что в следующем выпуске есть критические изменения, я бы переопределил тег версии разработки с основной версией и минорной версией 1, например, 2.1.0.Но это будет означать, что выпуски никогда не должны пропускаться, в противном случае у нас будут пробелы в версиях.

Если бы я отмечал ветвь разработки только при слиянии с версией релиза, было бы странно развертыватьгде-то разрабатывать ветку, потому что она будет иметь версию, подобную 1.2.0alpha-xx, но ветка релиза будет иметь что-то вроде 1.2.0beta-xx, что было бы неправильно, поскольку ветвь разработки опережает ветку релиза.

К сожалению, я не нашел ни одного источника, описывающего процесс здесь.Поэтому это просто решение или я пропустил некоторые источники?

...