Если вы попытаетесь следовать модели ветвления git-flow, описанной здесь и с инструментами здесь , как вы должны справиться с этой ситуацией:
Вы сделали выпуск 1.0 и выпуск 2.0. Затем нужно сделать исправление для 1.0. Вы создаете ветку исправления на основе тега 1.0 и реализуете исправление там. Но что тогда?
Обычно вы сливаетесь с мастером и помещаете туда тег версии 1.1. Но вы не можете объединить 1.1 с точкой после 2.0 на мастере.
Я предполагаю, что вы могли бы поместить тег выпуска в ветку исправления, но это создаст постоянную ветку рядом с мастером, которая будет содержать тег выпуска. Это правильный путь?
Ответы:
Похоже, что в git flow есть понятие «вспомогательной» ветки. Это используется для добавления исправления к более раннему выпуску.
В этой ветке есть дополнительная информация с этими примерами:
... исправьте, а затем:
или используя
git flow
команды... затем внесите изменения:
источник
Интересный вопрос! Связанный поток предполагает, что мастер может отслеживать производство. Это работает, только если производственные версии строго увеличиваются. Обычно это верно для веб-сайта, у которого есть только одна производственная версия.
Если вам нужно поддерживать несколько производственных версий, одной ветки для отслеживания производства недостаточно. Решение - не использовать мастер для отслеживания производства. Вместо этого используйте такие ветки, как
release1
,release2
и т. Д.При таком подходе вам может даже не понадобиться ветка исправления. Вы могли исправить проблему на
release1
ветке. Когда исправление будет достаточно хорошим, создайтеrelease1.1
тег вrelease1
ветке.источник
git-flow
Инструмент не подходит , если вы должны поддерживать несколько версий производства. В рабочем процессе, предложенном в этом ответе, мастер вообще не используется. Вы можете назвать ветку разработки master, в конце концов, это просто имя.git-flow предполагает, что вы поддерживаете только одну строку выпуска за раз, что удобно отслеживается мастером. Если вы поддерживаете более одного, вам нужно будет изменить процесс git-flow, чтобы иметь несколько трекеров ваших отдельных выпусков, которые вы поддерживаете (master-1, master-2). Вы можете продолжать использовать master для отслеживания самой последней строки выпуска в дополнение или вместо определенного трекера для самой последней строки выпуска (master вместо master-2).
К сожалению, любой инструмент git-flow, который вы можете использовать, вероятно, потребуется изменить, но, надеюсь, вы достаточно знакомы с процессом git-flow, чтобы обрабатывать этот конкретный случай напрямую с помощью команд git.
источник
git flow
процесс, он будет другим. Если какую-то модель нужно исправить (а не просто расширить), то она настолько успешна, как утверждает ее автор. Пожалуйста, ознакомьтесь с моим ответом на обсуждаемую нами тему.git config --add gitflow.multi-hotfix true Мне кажется, эта команда работает!
источник