我计划使用TortoiseSVN资源管理器客户端将分支合并到主干。 (我还需要做相反的事情,即从主干到分支合并。)
这就是我计划使用Merging Two Different Trees将分支合并到主干的方法:
Merge Trunk in to Branch using tortoise
检查我本地方框上的行李箱。右键单击签出副本,然后选择合并两个不同的树。下 从:(开始URL和要合并的范围的修订),我将提到主干URL和下 要:(结束URL和要合并的范围的修订版),我将提到分支URL
当我右键单击trunk local copy并选择Merge时,我会看到两个相关的选项
1) Reintegrate a branch
2) Merging Two Different Trees
但我不确定它们之间的区别是什么:哪一个更好地将分支合并到主干?
更新: - 我在网上看到的大多数地方都说应该使用Merge a range of revisions
(而不是Reintegrate the branch
)将分支合并回主干。
因此,为了合并100个不连续的修订版,我需要先记下这些修订版,然后提及Merge a range of revisions
的修订版。这是对的吗?
答案 0 :(得分:2)
您几乎肯定希望合并一系列修订,但您可能会在Tortoise中看到三种可能性:
你可以考虑在没有Tortoise的情况下使用svn
命令,但我想你会发现Tortoise会更顺畅地指导你完成整个过程,Edit conflicts
函数 - 如果你需要的话 - 很漂亮有帮助的。
您可能想要合并所有更改或仅合并一些;在后一种情况下,如果你使用Tortoise并提交了不错的日志消息,你将能够在合并对话中识别并选择你想要的修订;已合并的修订版也将显示为灰色(对于服务器> 1.5)。也就是说,最好不要在合并前留下太长时间:这样你就能记住你做得更好,分支机构可能会有更少的分歧,减少冲突的风险。
如果您看到合并后发生任何冲突,最好保持合并对话框打开并在冲突的文件上逐一右键单击,然后选择编辑冲突 - 这将是向您展示代码中已在主干和分支中修改的位置,您将必须弄清楚如何手动组合它们。如果您关闭对话框,则可以使用检查修改对话框来获得相同的可能性;您甚至可以使用提交对话框,但通常最好不要在合并的代码正确之前实际提交。
解决了任何冲突,编译并测试你的系统(最好不做任何不相关的修改),并在你开心后提交。 不要太担心你会搞砸了:因为你总是在工作副本中合并,只要你从干净的石板开始就不会过早地提交,你就不会受到伤害。
我建议您查看http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html上的合并的Tortoise文档以及http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html上的Subversion文档,了解更多详情和提示。