Мы приняли модель ветвления, предложенную Винсентом Дриссеном, и почти все, как он описал в своей статье.
Только когда дело доходит до обработки веток релиза, мы немного отклоняемся.
Винсент предлагает разрабатывать функции в ответвлениях от разработчика. Когда принимается решение, какие функции войдут в следующий выпуск, они снова объединяются в разработчике, и из него создается ветка выпуска.
После этого функциональную ветку следует использовать только для тестирования и исправления ошибок. Когда релиз развертывается, ветвь релиза снова объединяется с ветвями разработчика и мастера.
Вместо этого мы объединяем функции непосредственно в ветку релиза:
Я чувствую, что это не так, как следует делать, и я пытаюсь думать о случаях, когда это может действительно усложнить ситуацию.
Я могу думать о следующем:
Допустим, новая Функция c строится на основе Функции a, которая уже объединена в ветку выпуска. Сначала мне нужно объединить ветвь выпуска обратно в ветвь разработчика, чтобы иметь возможность создать новую ветвь Feature c от разработчика.
Существуют ли другие случаи, когда эта модель ветвления может усложнить ситуацию?