SVN:合并一个分支到主干
本文内容遵从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访问的服务器上。
合并一个分支到主干?
- 获取一份主干的副本:
svn co svn+ssh://server/path/to/trunk
- 获取你需要合并的分支的副本:
svn co svn+ssh://server/path/to/branch/myBranch
- 把你当前工作目录换到 “myBranch”,找到“myBranch”的起始版本:
svn log –stop-on-copy
这会显示你的分支从主干分离出来的点。记住这个数字(就是 rXXXX,XXXX 就是版本号)。
- 把你的当前工作目录换到主干,执行一个SVN更新:
svn up
这会更新你的主干副本到最新版本,并且告诉你最新版本号是多少。也把这个数字记好 (应该是这样的提示“At revision YYYY”,YYYY就是你需要记住的第二个数字)。
- 现在我们可以执行SVN合并:
svn merge -rXXXX:YYYY svn+ssh://server/path/to/branch/myBranch
这会把你的分支中所有的更新放到主干。
- 解决所有合并中出现的冲突。
- 检查结果:
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”
这是所有的内容,希望有所帮助。