git流向下/向左连续合并
Git flow以以下方式确保对master和release的更改最终以develop结束:git流向下/向左连续合并,git,merge,git-flow,Git,Merge,Git Flow,Git flow以以下方式确保对master和release的更改最终以develop结束: 修补程序从主程序分支并合并回开发。如果有 活动发布分支它在那里合并并且只传播到开发 一旦发行版被合并为master和Development 只有在发布完成后,对发布的更改才会合并以进行开发 完成 我想知道为什么要推迟到发布完成。 当主版本发生变化时,简单地将主版本合并为发行版和开发版,当发行版发生变化时合并为发行版和开发版,不是更容易吗 通过这种方式,我将立即在所有相关分支中反映更改,并且我不需要考
- 修补程序从主程序分支并合并回开发。如果有 活动发布分支它在那里合并并且只传播到开发 一旦发行版被合并为master和Development
- 只有在发布完成后,对发布的更改才会合并以进行开发 完成
我能想到的唯一解释是,git flow认为较不频繁的合并超过了跨分支拥有最新/同步的代码库的好处。问题在于
开发的目的是:集成分支一起测试功能。
添加一个活动的主机(及其修补程序)会破坏集成
这就是为什么我更喜欢使用gitworflow(即:您可以在master
上重新设置任何功能
分支的基础(热修复程序可以随时合并)。
通过重新设置功能
分支,您可以在最新的主程序
(及其修补程序)上重放更改
稍后,您可以将任何功能
分支合并到“下一个
”(开发
分支)
最后,当您知道您为下一版本实际选择了哪个功能分支时,您可以(再次)将那些功能
分支合并到主功能
实际上支持您的请求。幸运的是,您的一个前提存在缺陷:
只有在发布完成后,才会合并对发布的更改以进行开发
事实并非如此。允许(并鼓励)您根据需要将发行版
分支上的任何更改合并到开发
中。在中,请注意,在完成之前,绿色的发布
提交返回到开发
。还有一个注释气泡,说明:
来自rel的错误修复。分支机构可能会不断合并回开发
在我的组织中,我们的发布分支可以使用大约7-10天,平均来说,我们在完成之前至少会将发布
合并到开发
中一次。因此,对于热修复程序,一旦它们被合并到release
,只要有必要,就可以将release
重新合并到develope
作为相关的旁注,在完成发布
时,我更喜欢将发布
合并到主版
,然后将主版
合并到开发
。(而不是将发布到开发)这提供了两个好处:
如果您没有将master
合并到develope
中,那么在修补程序之前有很多版本之后,当您最终创建hotfix
时,当您将它合并到develope
中时,会带来一堆位于master
上的旧合并提交。这会增加混乱
在release
分支存在的任何时候,您都需要确保master
中的所有内容都在release
中。如果不这样做,您可能会意外地吹走一个修补程序,该修补程序是有人在master
中完成的,但忘记了合并回release
。也许最简单的自动化方法是检查master
的头部是否在release
中。但只有当您将主程序
合并回开发
(或返回到发布
,如果它存在并且您刚刚完成了一个修补程序
),这才是真的