【问题标题】:Merge branch with trunk将分支与主干合并
【发布时间】:2010-09-30 06:51:25
【问题描述】:

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

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

基本上,我希望我的树干看起来和树枝一模一样。

在svn之前的世界里,我只是复制我的分支文件夹中的文件,删除主干文件夹中的文件,然后将分支复制到主干。

在 TortoiseSVN 中,我尝试过 Reintegrate a branchMerge a range of revisionsMerge two different trees。似乎什么都没有真正改变主干。我也试过在树干上分支。这给了我一个错误,说主干已经存在。

【问题讨论】:

    标签: tortoisesvn branch trunk


    【解决方案1】:

    在你的情况下:

    1. 将工作副本切换到主干(SVN 切换)
    2. 将分支合并到工作副本中(SVN Merge)
    3. 确保一切仍然可以编译和工作
    4. 提交工作副本(主干)
    5. 考虑杀死分支

    团队环境中,我建议您首先在分支中合并主干中的最新修改,确保一切都编译并正常工作,然后执行上述步骤(这将是微不足道的,因为您已经测试了更改)。


    更新

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

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

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

    【讨论】:

    • 您在第 5 步中添加的评论可能最好是第 1 步?当您想使用 TortoiseSVN 合并对话框中的“重新集成分支”时,首先需要合并来自主干(或基础分支)的所有更改。
    • 只有在没有单独的分支和主干工作副本时才需要第一步(将工作副本切换到主干)吗?
    • 我认为这里缺少的一个主要细节是您为每个步骤单击的文件夹,因此您知道每个步骤的上下文。
    【解决方案2】:

    我认为在 TortoiseSVN 1.8.5 中,合并 |合并两棵不同的树应该可以。当您将分支/标签合并回主干时,诀窍是 From URL 是主干,而 To 是标签/分支。奇怪但真实。

    来源:Merging

    对于不在工作副本中但在标签/分支中的目录,您可能会遇到冲突错误。只需接受冲突并重新合并即可。

    【讨论】:

    • 按照tortoisesvn 站点上的说明进行操作后,请确保在合并后提交主干而不进行任何修改。我尝试取消选中一些我不想提交的东西,这会导致一些非递归提交警告。另外,请考虑按照说明删除分支。
    【解决方案3】:

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

    在我的使用中,更典型的做法是在构建时保持主干运行并分拆分支。因此,我唯一需要做的合并就是从主干中修复错误并将其放在最新的构建分支上并重新发布该分支。对我来说最简单的方法是,因为你发现合并充其量是笨拙的。是保持最新的分支和主干检出到我的机器,并将文件从主干复制到分支并签入。

    【讨论】:

    • 在“复制”文件时应格外小心。使用 TortoiseSVN 的 export 之类的东西,以避免损坏隐藏的 svn 目录。
    【解决方案4】:

    我正在使用 TortoiseSVN 1.9.3,内部版本 27038。

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

    1) 右键单击​​主干工作副本并选择以​​下选项。

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

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

    4) 点击下一步进行测试合并

    5) 如果测试合并成功,点击合并按钮。

    6) 一旦合并成功,然后在主干上提交更改。

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      相关资源
      最近更新 更多