SVN:合并一个分支到主干

9 月 21st, 2012 | Posted by | Filed under 程序设计

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.penglixun.com/tech/program/svn_merge_branch_trunk.html

原文在此,我只是翻译:http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk

这篇文章只是写给我自己备用的,但是写出来可能更多的人会觉得这很有用。

最近在工作中,我被分配了更多的职责。包括部分网站的分支控制工作。我花了一段时间才理清楚如何处理所有的事情,并且大部分在网络上找到的资料对我都没有太大的帮助,所以我会在这里发这篇文章来阐述。

我们采用SVN做代码版本控制,并且代码存在一台可以用SSH访问的服务器上。



合并一个分支到主干?

  1. 获取一份主干的副本:

    svn co svn+ssh://server/path/to/trunk

  2. 获取你需要合并的分支的副本:

    svn co svn+ssh://server/path/to/branch/myBranch

  3. 把你当前工作目录换到 “myBranch”,找到“myBranch”的起始版本:

    svn log –stop-on-copy

    这会显示你的分支从主干分离出来的点。记住这个数字(就是 rXXXX,XXXX 就是版本号)。

  4. 把你的当前工作目录换到主干,执行一个SVN更新:

    svn up

    这会更新你的主干副本到最新版本,并且告诉你最新版本号是多少。也把这个数字记好 (应该是这样的提示“At revision YYYY”,YYYY就是你需要记住的第二个数字)。

  5. 现在我们可以执行SVN合并:

    svn merge -rXXXX:YYYY svn+ssh://server/path/to/branch/myBranch

    这会把你的分支中所有的更新放到主干。

  6. 解决所有合并中出现的冲突。
  7. 检查结果:

    svn ci -m “MERGE myProject myBranch [XXXX]:[YYYY] into trunk”

就是这些。现在你把“myBranch”合并到了主干。
That is it. You have now merged “myBranch” with trunk.


更新

第 2~4 步可以用下面的命令替换:

svn log –stop-on-copy svn+ssh://server/path/to/branch


额外的东西

分离一个分支比合并一个分支简单的多。这里告诉你怎么做。
执行一个SVN拷贝:

svn copy svn+ssh://server/path/to/trunk svn+ssh://server/path/to/branch/newBranch -m “Cut branch: newBranch”

这是所有的内容,希望有所帮助。

标签: ,
目前还没有任何评论.