我了解到 GitFlow 中的发布操作只是将开发分支(最新更新)合并到带有 TAG 的release/XXX分支。
我想简单地做如下:
git checkout -b release/XXX
git tag V1.0
git push
当我在 Bitbucket 上尝试此操作时,单击“开始”并完成“新版本”后,我会在提交日志上执行额外的操作(见下图):
当我尝试使用 GIT-FLOW 发布时,Bitbucket 似乎会执行以下操作:
// on develop branch
git checkout -b release/V1.0 //#1
git tag V1.0 //#2
git checkout main //#3
git merge release/V1.0 //#4
git checkout develop //#5
git merge main //#6
发布时为何涉及到主分支(步骤#3~#5)?另外,为什么需要额外合并回开发(第 6 步),主分支有哪些变化?
发生这种情况是因为您在开始发布后立即完成了发布:
当我在 Bitbucket 上尝试此操作时,单击“开始”并完成“新版本”后...
“开始”发布会创建当时指向
develop
的发布分支,“完成”发布会将其合并到main
中,然后将main
合并到develop
中。您只需先“开始”发布即可。然后将您的提交合并到发布分支中,当您完成测试并准备将其发布到生产中时,就完成了它。合并到 main
表示您已部署到生产环境。通过这种方式,main
分支始终代表生产中的内容。合并回 develop
确保发布分支上的所有新代码都已返回到 develop
,这样您就不会丢失它。