GitFlow: в чем разница между release и master ветками?


Я только что взглянул на эту шпаргалку gitflow. Я не понимаю ветку release.

Может ли кто-нибудь сказать мне разницу между ветвями release и master?
2 6

2 ответа:

Разница заключается в целях и процессе. Ветвь release обычно создается, когда вы готовитесь к предстоящему выпуску. Когда все ваши ветви feature, которые должны быть выпущены, уже объединены в ветвь develop, вы создаете ветвь release от ветви develop и фиксируете в ней только исправления ошибок или некоторые изменения конфигурации. Другими словами, вы пытаетесь сделать его настолько стабильным, насколько это возможно. Когда ветвь release достаточно стабильна, вы объединяете ее обратно в ветви develop и master. То назначение ветви master - всегда иметь последнюю стабильную версию проекта, которую можно развернуть в рабочей среде. Вы никогда не делаете коммит непосредственно на главную ветвь, только сливаетесь с ней из ветвей release или hotfix. Также можно настроить инструменты CI/CD для развертывания в производство на любом обновлении в ветке master.

Как только все функции, которые вы хотите иметь в своем релизе, находятся в разработке, вместо "блокировки" разработки для любого нового коммита, вы создаете ветку relase, которая будет содержать все функции, ожидаемые в вашем следующем релизе (а не в master, так как весь ваш релиз должен быть протестирован и, вероятно, будет иметь некоторые исправления...).

  • в этой ветке у вас есть только исправления ошибок, документация и т. д... но никакой новой функции
  • Ваша ветвь разработки не заблокирована, поэтому новые функции для следующей ветви релиз все еще можно запустить/нажать на разработку и тестирование.
  • Ветвь release идеально подходит для развертывания в среде staging / pre-prod и позволяет QA протестировать ваш релиз.
  • Как только release branch станет стабильным, вы можете объединить его в master и перейти к prod. Мастер всегда должен быть стабильным и устойчивым (если вы не делаете исправления).

Вы можете посмотреть на эти ссылки для дальнейшего пояснения:

Https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow http://nvie.com/posts/a-successful-git-branching-model/#feature-branches