svn - 将trunk更改为分支,然后将分支更改放回到trunk中

时间:2014-10-06 21:30:15

标签: svn merge

我正在使用SVN 1.6和龟龟客户端。我对此很新。

我有一个主干生成代码的主干。 我从“trunk”

创建了一个分支“devBranch”

过去一个月左右我在“开发分支”检查了ins,而在“trunk”中完成了许多检查

我的开发工作现已完成,我希望自从分支以来测试我的版本所有“主干”更改。

我不想把我的更改放在“trunk”中,直到我用“trunk”中的更改完全测试了我的代码

一旦我测试了合并版本并完成了所有测试,我就想把所有更改都放在“trunk”中进行生产QA和发布。

请如何逐步完成此步骤。

1 个答案:

答案 0 :(得分:2)

这在免费提供且非常易读的“SVN Book”中有详细介绍;具体而言,the section on "reintegrating a branch"

简而言之,您有三个阶段:

  • 从主干上的某个点创建分支,然后开始进行更改。
  • 由于这是一个“功能”分支,并被认为是“超前”主干(我使用助记符“功能是未来”提醒人们这一点;另一方面“释放分支”是背后 trunk,并以另一种方式合并),定期将在trunk上发生的所有内容合并到分支上。你这样做的频率越高,当你准备重新融入时,花在整理冲突上的时间就越少。
  • 一旦您测试了您的更改 - 包括它们与来自主干的“转发”合并的更改的交互方式,您可以使用特殊的“reintegrate merge”命令将合并到 trunk 来自

请注意,在较新版本的SVN中,最后一步是普通“合并”命令的自动模式,并且可以重复多次,因为存储和解释合并信息的算法已得到改进。

上面链接的指南是用基本SVN工具编写的(即命令行界面)。 TortoiseSVN as documented here也提供相同的功能。基本上是:

  • 要打开合并向导,请右键单击目标文件夹的签出,然后在第二页上的“合并自”框中输入。魔法师。它需要完整的URL;最简单的方法是右键单击源文件夹的签出,选择“属性”,然后查看“Subversion”选项卡的顶部。
  • 正常合并(主干到功能分支)是第一个选项,“合并一系列修订”。
  • 重新整合合并是第三种选择。
  • 大部分选项都可以保留默认值。