zoukankan      html  css  js  c++  java
  • SVN合并(merge)的使用

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


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


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

     

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

    一、分支的合并

     

     

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

    点击下一步

     

     

    注意填写起始和结束的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 和版本

    主干T 的URL 、版本100

     

    结束的URL 和版本

    分支A 的URL 、版本110

     

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

    起始URL 和版本

    主干T 的URL 、版本100

     

    结束的URL 和版本

    分支B 的URL 、版本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 和版本

    主干T 的URL 、版本100

     

    结束的URL 和版本

    主干T 的URL 、版本101

     

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

     

    2)     主干T 合并分支A

    起始URL 和版本

    主干T 的URL 、版本102

     

    结束的URL 和版本

    分支A 的URL 、版本121

     

    3)     主干T 合并分支B

    起始URL 和版本

    主干T 的URL 、版本102

     

    结束的URL 和版本

    分支B 的URL 、版本120

     

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

  • 相关阅读:
    Android常用命令
    kafka原理和集群配置
    zookeeper原理和集群配置
    python中is和==的区别以及全字段取出key和value
    Android Monkey压力测试介绍
    有一串随机整数列,a1,a2,...an,求数字[0-9]分别出现的次数,比如:[12, 210, 33]输出{'0': 1, '1': 2, '2': 2, '3': 2},时间和空间复杂度
    接口自动化get请求方式的处理
    读excel和openpyxl模块
    linux上安装Docker
    [数据结构]堆的建立和排序
  • 原文地址:https://www.cnblogs.com/cxd4321/p/2066018.html
Copyright © 2011-2022 走看看