我注意到this question about rebase vs merge,但没有一个答案确实给了我一种坚定的感觉,知道如何处理我自己的情况。
场景。可以说有两个分支:
master
:目前正在生产的分公司develop
:非部署的分支机构开发人员的功能是如果更改/修补程序直接应用于master
以解决关键生产问题,那么让develop
分支同步备份此更改的最佳方法是什么?有什么权衡:
master
加入develop
(压缩为1次提交)develop
到master
此问题的答案是否取决于应用的修补程序的数量/范围? (1个修补程序提交vs 15个“修补程序”提交)。
答案 0 :(得分:2)
答案不取决于修补程序的数量,而是取决于您使用的情况。
根据您的情况,develop
分支用于所有开发人员,因此您最好将master
合并到develop
中,而不是使用rebase。其他开发人员只需要从远程develop
分支中提取合并提交。
Rebase主要是使用分支是私有/本地或至少其他开发人员最近不使用它。如果你将develop
分支重新绑定到master
,这将使其他开发人员陷入困境。
答案 1 :(得分:0)
链接的答案列出了所有的权衡。
最后,这是一个逐案判决的案例。这个特殊情况'可能会更加自以为是。
我直观的OPINIONATED建议是将master合并到develop中,以免破坏任何东西或改变分支。