Почему ветку релиза нужно объединить с веткой разработки, когда я использую GitFlow? - PullRequest
0 голосов
/ 21 февраля 2019

Я изучаю Gitflow Workflow.Ниже приведен пример схемы Gitflow Workflow.

Я думаю, что содержимое A, B, C и D одинаково, верно?

Я думаю, что слияние A с C затем Cслияние с D в порядке, но зачем C слияние с B?Вы знаете, что А и В одинаковы!

Изображение

enter image description here

1 Ответ

0 голосов
/ 21 февраля 2019

Ваше утверждение, что A, B, C и D, являются одинаковыми, неверно (по крайней мере, в контексте этой диаграммы).

Между А и С вы увидите, что есть некоторые коммиты.Это ожидается.При «тестировании» ветки релиза, возможно, обнаружены некоторые ошибки, которые необходимо исправить перед публикацией.Или это может быть связано с необходимостью обслуживания, например, обновление номера версии в исходном коде или подобное.

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

Теперь, сказав все это, могут быть случаи, когда в ветке релиза не будет внесено никаких дополнительных изменений, и в результате слияние обратно в ветку разработки не требуется.В этих ситуациях, если вы попытаетесь слить ветку релиза обратно в ветку разработки, git фактически скажет вам, что делать нечего, и в результате слияние не произойдет.

Это задокументированооригинальная статья об использовании GitFlow здесь:

https://nvie.com/posts/a-successful-git-branching-model/#release-branches

В ветках релиза поддерживается подготовка нового производственного релиза.Они позволяют в последнюю минуту расставить точки над i и пересечь точки.Кроме того, они позволяют исправлять мелкие ошибки и подготавливать метаданные для выпуска (номер версии, даты сборки и т. Д.).Выполняя всю эту работу над веткой релиза, ветвь разработки очищается для получения функций для следующего большого релиза.

...