Ответ 1
Git -flow в своей исходной модели не говорит о поддерживаемых основных версиях одновременно. Он не описывает модель, в которой у вас есть следующие версии:
- 7.1.5: Два клиента используют этот
- 8.2.3: Три клиента используют этот
- 9.0.0: Это следующая основная версия, над которой вы сейчас работаете.
В Git -flow главная ветвь - это ваша поддерживаемая в настоящее время версия, все остальное устарело и считается устаревшим.
Сказав это, и поскольку мы находимся в одной и той же ситуации, мы должны одновременно поддерживать несколько основных версий (по крайней мере, один, где мы предоставляем исправления ошибок, и тот, где мы предоставляем новые функции), мы имеем придумайте следующее:
- Развить и освоить: это ветки для текущей работы. Все, что входит в следующую крупную версию, выполняется здесь.
- Как только мы создадим новую стабильную версию (например, 7.3.0), мы создадим следующие ветки:
- 7.3/разработка
- 7.3/мастер
Эти ветки теперь становятся ветвью разработки и мастера для этого поддерживаемого выпуска. Любые исправления, которые мы должны сделать для v7.3.0, выполняются в ветке 7.3/develop, и как только мы создаем выпуск v7.3.1, это делается на 7.3/develop и 7.3/master.
Изменения, которые необходимо выполнять в обеих ветвях разработки, обычно выбираются из вишни, так как мы не хотим объединять новые функции от развития в более старую, но все еще поддерживаемую ветвь развития.
Этот процесс требует немного настройки, но он работает очень хорошо, и пока вы не забудете создать необходимые ветки, когда вы начнете работать над следующей стабильной версией, это не слишком много накладных расходов.