Как вы отпустите исправление для предыдущей версии и пометьте его?

Мы пытаемся внедрить gitflow в наш процесс на работе. Gitflow довольно прост, когда дело доходит до исправлений. Тем не менее, я не понимаю, как я исправлю ошибку в предыдущей версии нашей системы.

Например, допустим, что мы находимся на версии 8.1.3, и мне нужно сделать исправление для 7.1.5. Я мог бы создать ветку на основе тега 7.1.5, но как мне получить обратно в master и пометить его? Возможно ли это с помощью Git? Я думал просто держать ветки релиза и совершать и помечать там, но я не уверен, что это правильный способ сделать что-то.

Ответ 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.

Изменения, которые необходимо выполнять в обеих ветвях разработки, обычно выбираются из вишни, так как мы не хотим объединять новые функции от развития в более старую, но все еще поддерживаемую ветвь развития.

Этот процесс требует немного настройки, но он работает очень хорошо, и пока вы не забудете создать необходимые ветки, когда вы начнете работать над следующей стабильной версией, это не слишком много накладных расходов.

Ответ 2

один способ может быть:

  • создать ветвь "7.1", на которой вы создаете исправления (7.1.6,...)
  • вишня - выберите свои модификации, чтобы поместить их поверх мастера (где вы бы пометили еще раз, но с другим тегом: 8.1.4)

не уверен, что это лучший способ, но возможность.