首页 文章

使用TortoiseSVN将分支更改与主干合并

提问于
浏览
119

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

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

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

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

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

在这一点上,我只是无知地按钮mashing希望有些东西有效 .

4 回答

  • 3

    在你的情况下:

    • 将工作副本切换到中继(SVN交换机)

    • 将分支合并到工作副本(SVN Merge)

    • 确保所有内容仍然可以编译并运行

    • 提交工作副本(主干)

    • 考虑杀死分支

    team environment 中,我建议您首先合并分支中的主干的最新修改,确保所有内容都编译并运行,然后执行上述步骤(由于您已经测试了更改,这将是微不足道的) .


    Update

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

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

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

  • 6

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

    资料来源:Merging

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

  • 10

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

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

  • 156

    我正在使用TortoiseSVN 1.9.3,Build 27038 .

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

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

    enter image description here

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

    enter image description here

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

    enter image description here

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

    enter image description here

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

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

相关问题