使用TortoiseSVN,我需要在分支中进行更改,然后将它们与Trunk合并。

我是这个项目的唯一开发人员,所以我知道trunk没有改变。我正在学习SVN,以便最终我的团队可以使用它。

基本上,我希望我的后备箱看起来与分支完全一样。

在pre-svn世界中,我只是复制我的分支文件夹中的文件,删除trunk文件夹中的文件,然后将分支复制到trunk。

在TortoiseSVN中,我尝试过“重新整合分支”,“合并一系列修订版”和“合并两个不同的树”。似乎没有什么能改变干线。我也试过在行李箱顶部进行分支。这给了我一个错误,说干线已经存在。

在这一点上,我只是无知地按钮混合,希望有些东西可以运作。

有帮助吗?

解决方案

在你的情况下:

  1. 将工作副本切换到中继(SVN交换机)
  2. 将分支合并到工作副本(SVN Merge)
  3. 确保所有内容仍然可以编译并正常工作
  4. 提交工作副本(主干)
  5. 考虑杀死分支
  6. 团队环境中,我建议您首先合并分支中的主干的最新修改,确保所有内容都编译并运行,然后执行上述步骤(这将是微不足道的你已经测试了这些变化。)


    <强>更新

    在第5步中,我提到杀死分支。这是因为一旦来自特征的分支在主干中,它应该被视为主干的一部分。在这种情况下,应该杀死分支,以便没有人继续工作。如果该功能需要进行重大修改,则应为此创建一个新分支。

    我不会杀死的唯一分支是维护和发布分支,除非不再支持特定版本。

    无论如何,您始终可以访问每个修订版,因此查杀分支仅用于阻止其他开发人员在死分支上进行开发。

其他提示

我认为在TortoiseSVN 1.8.5中,Merge |合并两个不同的树应该工作。将分支/标记合并回主干时,诀窍是From URL是主干,To是标记/分支。奇怪但真实。

资料来源:合并

对于不在工作副本但位于标记/分支中的目录,可能会出现冲突错误。只需接受冲突并重做合并。

首先将工作副本切换到主干。 然后进行从分支到主干的合并修订范围。 完成此对话框后,差异将在您的主干工作副本中等待更改。您需要提交它们就像在工作副本上手动进行更改一样。

在我的使用中,更常见的是在构建时保持中继线运行和旋转分支。因此,我需要做的唯一合并是从trunk中获取错误并将其放在最新的构建分支上并重新释放该分支。对我来说这是最简单的方法,因为你发现合并是最笨拙的。是将最新的分支和主干检查到我的机器上,然后将文件从主干复制到分支并检查两者。

我正在使用TortoiseSVN 1.9.3,Build 27038。

按照以下步骤将分支合并到主干中。

1)右键单击主干工作副本,然后选择以下选项。

2)如果分支合并到主干选择选项第二,如下所示,然后单击下一步

3)在发件人:字段中输入主干的完整文件夹URL。这可能听起来不对,但请记住,主干是您要添加分支更改的起点。 在“收件人:”字段中,输入要素分支的完整文件夹URL。

4)单击“下一步”并执行测试合并

5)如果测试合并成功,则单击“合并”按钮。

6)合并成功后,在trunk上提交更改。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top