我有以下分支
所有功能分支都属于dev分支,并在完成后合并到dev分支。 我按照以下方式做到了
git checkout feature-1
git rebase dev
(remove all conflict, if exist and then commit)
git checkout dev
git rebase feature-1
git push origin dev
以上流程很好,管理得当,一切都很好看。但我有另一个分支长期功能。它将在几个月后发布,我需要通过dev分支更新它(在每个新功能完成后)。所以同样适用于长时间功能分支但没有重新设置为dev。
git checkout **long-time-feature**
git rebase dev
(remove all conflict, if exist and then commit and push it)
但是现在我下次将它重新设置为dev,然后所有冲突再次重复,并且在推动它时会增加许多提交。每次都一次又一次地消除冲突太难了。 :(所以任何最好的方式来更新我的长期功能分支与开发。
先谢谢
答案 0 :(得分:0)
没有奇迹,长寿命的分支注定会导致合并冲突。您可以尝试通过以下选项之一来尽量减少其损害:
这样,您可以在每次合并时解决一次冲突,并保留long living branch的原始历史记录
缺点:历史不再那么线性;如果决定撤销这样的
,则更难以恢复开发功能你有必要为长期生活分支的后续提交解决相同的冲突。您可以通过将历史记录为更大的,最好是一次提交来改进这一点。
缺点是历史较少。