SVN合并(merge)的使用

        分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。


        此操作十分重要,在团队开发中,如果你是SVN 的维护者此环节可以说是必不可少,因为团队开发中如果使用了分支,那样合并分支到主干、或者分支合并分支的操作是必须的。


        如果不使用分支,直接在主干上修改的话,主干版本可能会变得十分混乱。维护难度大大加大。

 

     下面以使用TortoiseSVN为例,任何SVN的客户端工具其实都大同小异。


一、分支的合并

 

合并

 

点击菜单上的合并按钮,出现如图窗口,一般的使用第三个选项即可。如图所视。

点击下一步

 

选择合并URL和版本

 

注意填写起始和结束的URL 及版本,尤其重要。这一步将影响你合并后所得的版本。

 

简单的说,“结束的URL 和版本”是此次操作的最终标准。而“起始URL 和版本”一般情况下必须是该分支创建的起始版本。

 

比方说,这次分支是从主干100 上创建的,而分支的起始版本是101 。最终分支完成后的版本是105

简单情况下,主干上的版本没有被更新,依然是100 。如果想把分支功能合并到主干上的话,我们可以在主干100 的工作副本中点击合并,然后“起始URL 和版本”填写主干的URL ,版本100( 或者HEAD ,因为最新版本也是100) ,然后“结束的URL 和版本”填写分支的URL 和版本105( 也可以是HEAD) 即可。

 

操作完成后,此次合并效果会在工作副本上呈现,如果有问题请使用还原,撤销此次修改操作。


注:其他SVN 的插件大同小异。

 

 

二、多分支合并


参考单分支的分支操作,而多分支的情况简单来说有两种:

 

  • 分支中的起始版本一致


比方说现在有两个分支,分支A 和分支B 。他们分别从主干T 创建分支。

主干T 版本100 ,分支A 的版本101 ,分支B 的版本号102

 

当分支A 和分支B 都各自完成开发,并且提交到SVN 上后。A 的版本号为110 ,而B 的版本号为115

 

分支起始版本一致

 

此时必须两步操作,并且操作在主干T 的工作副本内执行:

 

1)     主干T 合并分支A

起始URL 和版本

主干TURL 、版本100

 

结束的URL 和版本

分支AURL 、版本110

 

2)     合并分支A 后再继续合并分支B

起始URL 和版本

主干TURL 、版本100

 

结束的URL 和版本

分支BURL 、版本115

 

注意:完成第一步的时候不必提交。

 

  • 分支中的起始版本不一致

 

比方说现在有两个分支,分支A 和分支B 。分支A 是从主干T 版本100 上创建,分支A 版本101 。创建分支A 后,主干上又做了其他修改,并且更新成版本102

然后主干T 版本102 的基础上创建分支B ,分支B 版本号为103

 

两个分支各自开发,最终分支A 版本号为110 ,而分支B 的版本号为120

 

分支起始版本不一致

 

此时合并操作应该为三步,多的一步其实就是把起始版本统一:

 

1)     分支A 更新主干100-101 的更新,在分支A 的工作副本内执行。

起始URL 和版本

主干TURL 、版本100

 

结束的URL 和版本

主干TURL 、版本101

 

无误后提交修改。分支A 此时最终版本修改为121

 

2)     主干T 合并分支A

起始URL 和版本

主干TURL 、版本102

 

结束的URL 和版本

分支AURL 、版本121

 

3)     主干T 合并分支B

起始URL 和版本

主干TURL 、版本102

 

结束的URL 和版本

分支BURL 、版本120

 

看起来比较繁琐,其实最终目的还是把起始的版本统一,然后再把主干和分支上的差异修改添加到主干之上。


  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值