SVN:合并一个分支到主干

标签: 程序设计 merge SVN | 发表时间:2012-09-21 14:18 | 作者:P.Linux
出处:http://www.penglixun.com

本文内容遵从 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”

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

随机显示文章

相关 [svn 合并 分支] 推荐:

SVN:合并一个分支到主干

- - P.Linux Laboratory
本文内容遵从 CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/program/svn_merge_branch_trunk.html. 原文在此,我只是翻译: http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk.

SVN:分支合并到主干

- - CSDN博客系统运维推荐文章
1.先把主干代码下载到本地. 3.svn merge 分支目录    . 4.遇到冲突, 请见合并日志,选择"p",记下出冲突的文件,人工编辑.  4.1 比如Index.action出冲突了,vi Index.action.  4.2 vi完成以后,删除冲突的文件 rm -f Index.action.*.

svn 钩子开启

- - 运维技术的个人空间
背景: 公司的Svn很多人在用,有不少人在作修改后不添加注释,所以需要强制用户填写注释. 重命名svn主目录中hooks的pre-commit.tmpl文件为pre-commit,并添加可执行权限. echo "【注释】$content" 1>&2. echo "【注意】注释不能为空,请重新填写注释!!!" 1>&2.

SVN强制填写日志

- - CSDN博客系统运维推荐文章
在F:\Repositories\版本库名\hooks下新建pre-commit.bat. rem 保证输入8个字符 %SVN_BINDIR%\svnlook log %REPOS% -t %TXN% | findstr "........" > nul if %errorlevel% gtr 0 goto :err_action rem 过滤空格字符 %SVN_BINDIR%\svnlook log %REPOS% -t %TXN% | findstr /ic:".

SVN之使用原则

- - 研发管理 - ITeye博客
以下是我起草的部门SVN规范里原则的一部分. 必须提交注释,注明相关修改信息,例如bug号、任务描述等. 具体内容可采用约定或者设置的形式. 你所提交的改变将体现给其他开发者,要明白提交的后果,. 代码变动及时提交,避免丢失本地修改后无法恢复. 新增加的文件同时被提交,否则只在你本地能正常工作,导致其它人不能编译通过.

使用VisualSVN Server搭建SVN服务器

- - CSDN博客推荐文章
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,上手也没有那么复杂. VisualSVN Server的下载地址如下,是免费的,随意不必有顾虑. 1使用SVN,首先要安装 TortoiseSVN,就是上面的SVN下载地址.

[原]强制 code review:reviewboard+svn 的方案

- - 赖勇浩的编程私伙局
赖勇浩( http://laiyonghao.com). 我们团队在开发《天下盛境》项目的时候,制定和执行了比较好的 code review 策略,总结下来有几个优点:一是代码风格可控,代码质量有一定提升;二是新员工入职后能够得到更多人的指导,成长非常快;三是小 bug 频出的情况比我做《天》之前的项目少了至少一个数量组.

SVN提交更新的一个准则

- - BlogJava_首页
查阅了一下网络和博客园,发现还没有一个明确地指导源码管理提交准则的相关文章,因此斗胆整理了一部分自己平时开发管理的心得,加上查阅了部分英文资料写了一个不算很完善的SVN提交准则. 负责而谨慎地提交自己的代码. SVN更新的原则是要随时更新,随时提交. 当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交.

svn提交时强制注释

- -
不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范. 有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢.   利用svn的pre-commit钩子可简单实现此要求. 进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl.

SVN下最高效打基线方法

- - CSDN博客推荐文章
作者:张克强    作者微博: 张克强-敏捷307. 组织级scm建一个名为controlled的目录,当项目某文档通过评审后,组织级scm从项目目录下找到那文档,复制到controlled目录下. 请@scmeye软件配置管理社区 @E路向前--李忠利 @火星人陈勇 点评下这做法. 邱润HW:有什么东西是可以完全被控制的吗.