35

我知道这已经被问过好几次了,所以我很抱歉再次问这个问题,但我只是想确定我理解不同合并之间的区别。

我是这个项目的唯一开发者,所以我不担心过度编写其他人的工作。

我创建了这个项目的一个分支,因为我即将添加一些新功能,并且如果我需要修复当前代码中的任何错误,我不想处理大约一半完成的代码。所以主干包含“稳定”版本,分支基本上是 alpha/beta 版本。

在我有机会真正开始进行这些更改之前,我最终修复了几个错误并将它们提交给分支构建。我想将分支合并回主干以提交这些修复,然后我可以开始在分支上进行更改。

当我进入 TortoiseSVN 并选择合并时,我有两个选择:合并一系列修订或合并两个不同的树

第一个说当我对分支或主干进行修订并希望将这些更改移植到不同的分支时

第二个说当我想将两个不同分支的差异合并到我的工作副本中时。

当我尝试第一个选项时,要合并的 URL 从我选择我的分支和所有修订版。单击下一步,当我单击测试时,我在某些已移动/删除/添加的文件上出现树冲突。

当我使用 head revision 使用第二个选项(使用测试合并)尝试相同的事情时,它似乎有效。哪个是正确的方法?或者它们都不适合我想做的事情?

4

3 回答 3

33

在你的情况下,我认为你不需要合并两棵不同的树,因为你的树干分支有关系,所以这不是你需要的。

如果要将更改从分支带到主干,则需要重新集成分支

您可以使用Merge 一系列修订来合并从主干分支(更新到最新的稳定版本),也可以用于将分支合并到主干(我主要使用此选项)。

也许这个 SO-Question也可以帮助你,这里是该主题的“标准文献”。

更新:

(乌龟)合并选项:

在此处输入图像描述

更新二:

(乌龟)当前版本中的合并选项:

在此处输入图像描述

“Merge a range of revisions”通常用于“branch to trunk”——Merge。

于 2013-08-28T05:04:17.460 回答
9

新版的 tortoise svn 去掉了 reintegrate 分支。相反,合并一系列修订正在处理这个问题。

查看讨论Tortoisesvn Subversion 1.8 - 合并 - 不再重新集成分支选项

于 2014-02-24T11:04:10.583 回答
3

在合并对话框下,有一个“合并(旧样式)”选项

旧式重新整合

于 2016-09-27T11:50:40.853 回答