Подтвердить что ты не робот

После git -flow как вы должны обрабатывать исправление более ранней версии?

Если вы попытаетесь следовать модели ветвления git -flow, здесь и и здесь, как вы должны справиться с этой ситуацией:

Вы выпустили версию 1.0 и 2.0. Затем вам нужно сделать исправление для 1.0. Вы создаете ветку исправления от тега 1.0 и реализуете исправление. Но что тогда?

Обычно вы должны объединиться для создания и размещения там тега версии 1.1. Но вы не можете объединить 1.1 с точкой после 2.0 на master.

Я думаю, вы могли бы поместить тег release в ветку исправления, но это создало бы постоянную ветвь рядом с мастером, которая будет содержать тег release. Правильно ли это?

4b9b3361

Ответ 1

Кажется, что существует понятие "поддержки" в потоке git. Это используется для добавления исправления к более ранней версии.

Этот поток содержит больше информации, с этими примерами:

git checkout 6.0
git checkout -b support/6.x
git checkout -b hotfix/6.0.1

... сделайте свое исправление, затем:

git checkout support/6.x
git merge hotfix/6.0.1
git branch -d hotfix/6.0.1
git tag 6.0.1

или с помощью команд git flow

git flow support start 6.x 6.0
git flow hotfix start 6.0.1 support/6.x

... внесите изменения:

git flow hotfix finish 6.0.1

Ответ 2

Интересный вопрос! Поток, который вы связываете, предполагает, что мастер может отслеживать производство. Это работает только в том случае, если производственные версии строго растут. Это обычно верно для веб-сайта, который имеет только одну производственную версию.

Если вам нужно поддерживать несколько производственных версий, одного ветки для отслеживания производства недостаточно. Решение не использовать мастер для отслеживания производства. Вместо этого используйте ветки типа release1, release2 и т.д.

В этом подходе вам может даже не понадобиться ветка исправления. Вы можете исправить проблему в ветки release1. Когда исправление будет достаточно хорошим, создайте тег release1.1 на ветке release1.

Ответ 3

git -flow предполагает, что вы поддерживаете только одну линию выпуска за раз, удобно отслеживая мастер. Если вы поддерживаете более 1, вам нужно будет изменить процесс git -flow, чтобы иметь несколько трекеров ваших отдельных релизов, которые вы поддерживаете (master-1, master-2). Вы можете продолжать использовать мастер для отслеживания самой последней строки выпуска, помимо или вместо определенного трекера для самой последней строки выпуска (мастер вместо мастера-2).

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

Ответ 4

git config --add gitflow.multi-hotfix true Эта команда, кажется, работает для меня!