我知道这已被问过好几次,所以我为再次询问而道歉,但我只是想确定我理解不同合并之间的区别。
我是这个项目的唯一开发人员,所以我并不担心过度编写其他人的工作。
我创建了这个项目的一个分支,因为我即将添加一些新功能,如果我需要修复当前代码中的任何错误,我不想处理半成品代码。因此trunk包含'稳定'版本,分支基本上是alpha / beta版本。
在我有机会真正开始这些变化之前,我最终修复了几个错误并将它们提交到分支机构。我想将分支合并回主干以提交这些修复,然后我可以开始在分支上进行更改。
当我进入TortoiseSVN并选择合并时,我有两个选择: 合并一系列修订或 合并两棵不同的树
当我对分支或主干进行修改并希望将这些更改移植到不同的分支时,第一个说它是
第二个说当我想将两个不同分支的差异合并到我的工作副本中时。
当我尝试第一个选项时,从我选择的URL将选择我的分支和所有修订。单击下一步,当我单击测试时,我会对已移动/删除/添加的某些文件产生树冲突。
当我使用头部修订使用第二个选项(使用测试合并)尝试相同的事情时,它似乎工作。哪种方法正确?或者他们都不正确我想做什么?
答案 0 :(得分:29)
在你的情况下,我认为你不需要合并两个不同的树,因为你的 trunk 和分支有关系,所以这个不是你需要的。
重新整合分支就是您需要将分支的更改带到 trunk 所需的内容。
您可以使用合并一系列修订进行从 trunk 到分支的合并(更新到最新的稳定版本),还可以用于合并分支到 trunk (我主要使用此选项)。
也许this SO-Question也可以帮助您,here是该主题的“标准文献”。
<强>更新强>
(乌龟)合并选项:
更新II:
(Tortoise)当前版本中的Merge-Options:
“合并一系列修订”通常用于“分支到主干”-Merge。
答案 1 :(得分:9)
新版本的陆龟svn删除了重新整合分支。相反,合并的一系列修订正在处理这个问题。
查看讨论Tortoisesvn Subversion 1.8 - merge - no more reintegrate a branch option
答案 2 :(得分:1)