SVN部分合并最佳实践

8
我正在处理一个功能分支,已经提交了一些更改到我的功能分支中,这些更改将影响其他开发人员。我想将这些新更改提交到主干,以便没有人会在之后为修复问题而奔波;但是,我不想提交功能分支的其余部分,因为它还没有完全功能。
我从r109的主干分支出了一个分支。我的分支已经合并了主干的所有更改,直到r145。我在r152和r153中将“将影响其他开发人员”更改提交到了我的分支中。
我在这里的思路是切换我的工作副本到主干,然后执行:
svn merge svn://project/branch/myBranch -r 146:153 ./project
SVN会抱怨冲突,因为主干包含我更改的某个文件的原始版本,而我只是合并最新的更改(我在早期提交到我的分支中对该文件做了一些更改),同时它也会抱怨与另一个开发人员在r149中更改的文件的冲突。由于在我提交之前,我的分支仅包含从主干合并到r145的合并,因此我的分支不反映该更改。
没关系-冲突很容易解决,但我的担忧是,几天后当我想要重新集成我的完整分支到主干时,可能会遇到麻烦。
或者,我可以在主干中进行必要的更改,然后将它们合并到我的分支中,但我不喜欢这种方法,因为更改已经在分支中完成。没有必要重复做一遍。
有人对将功能分支的部分合并到主干,然后进行完全重新集成有经验吗?在这里最好的策略是什么?
2个回答

4
如果分支上的更改顺序并不太重要,您可以尝试仅将这些更改合并回主干,然后在功能准备好重新集成时合并其余更改。
如果可能的话,最好避免整个情况,等待分支准备好进行合并再进行更改。
在大多数情况下,如果是应立即在主干上进行的更改,我建议在主干上进行更改,而不是在分支上进行,并像往常一样从主干合并到分支。

谢谢!我意识到在提交到我的分支之后,这是应该在主干上完成的事情。否则,我会按照你建议的方式去做。 - Michael Moussa

1

1
那个工具与tortoise merge工具有什么不同? - SeanJA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接