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

此操作十分重要,在团队开发中,如果你是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

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

SVN支干合并(转载)的更多相关文章

  1. SVN分支与合并【超详细的图文教程】(转载)

    SVN分支与合并 一. 分支与合并的概念 二. SVN分支的意义 三. 如何创建分支与合并分支 一.分支与合并的概念: 分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上.这 ...

  2. eclipse svn分支与合并操作

    以前做项目的时候没有用过svn的分支合并操作,今天用到了,刚开始还真不会啊.最后查了下就是这么的方便.专门记录下来. 原文来自:http://blog.csdn.net/lisq037/article ...

  3. 详细说明svn分支与合并---命令行

    一,svn分支与合并有什么用? 作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多.因为一般情况下,是用不着svn分支的,其实也没有那个必要.下面我例举几个需要用到svn分支的情况: 1 ...

  4. SVN 分支及合并的介绍和实践---命令行

    写在前面 一些相关的概念和原理 进行分支开发的最佳实践 合并的分类 在 Eclipse 中进行合并操作 相关资源 写在前面 本文是由演讲整理而来的,介绍了 SVN 分支与合并的概念.流程和一些实际操作 ...

  5. SVN版本分支合并

    SVN,开发中常用的工具,也没什么可说的.这里只是记录一下,以免太久不用了想用的时候又忘了. 首先已经有两个目录,一个是分支目录SVNChild,一个是主干目录SVNMain.SVNChild是从SV ...

  6. 详细说明svn分支与合并,以及实例

    详细说明svn分支与合并,以及实例 一,svn分支与合并有什么用? 作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多.因为一般情况下,是用不着svn分支的,其实也没有那个必要.下面我例 ...

  7. 实例讲解SVN分支和合并问题(转)

    本节向大家简单描述一下SVN分支和合并方面的知识,在学习SVN的过程中SVN分支和合并时经常遇到的问题,在这里和大家分享一下,希望本文对大家有用. 关于主线同SVN分支合并的概念及如何使用的误区此问题 ...

  8. SVN 分支代码合并到主线

    SVN 分支代码合并到主线 步骤一安装TortoiseSVN 客户端,在本地 checkout主线代码 步骤二:创建branches分支 步骤三.branches修改提交代码 步骤四:分支代码合并到主 ...

  9. [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图

    行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会 ...

随机推荐

  1. 设置ListView的item不能点击

    写了一个ListView结合volley的demo ListView只是用来展示数据,所以不需要点击效果. 网上搜索了下: 可以禁用ListView ListView.setEnabled(false ...

  2. Vuex 通俗版教程

    作者 Yeaseon 已关注 2017.03.16 16:44* 字数 1245 阅读 243评论 2喜欢 4 本文基本上是官方教程的盗版,用通俗易懂的文字讲解Vuex,也对原文内容有删减. 如果你对 ...

  3. 防止ddos攻击

    1.防止ddos攻击 :接入层过滤器,去判断非法请求ip地主(如果请求过多,自己加入黑名单),上传至防火墙黑名单,不再录入 2.防止xss/css攻击 :在接入层,有第三方jra包工具类,过滤所有请求

  4. linux基础学习6

    daemon 可以理解成为service   两大类: stand_alone:此 daemon 可以自行单独启动服务,加载到内存后就一直占用内存与系统资源:如 www的httpd ,ftp的vsft ...

  5. 【GLSL教程】(六)逐顶点的光照 【转】

    引言 在OpenGL中有三种类型的光:方向光(directional).点光(point).聚光(spotlight).本教程将从方向光讲起,首先我们将使用GLSL来模仿OpenGL中的光. 我们将向 ...

  6. js 展开&收缩 二种

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. jquery 判断元素显示或隐藏

    $().is(":hidden"); $().is(":visible");

  8. swiper-demo1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. openssl生成https证书

    openssl生成https证书 分类: 其它2009-09-03 16:20 452人阅读 评论(0) 收藏 举报 includemoduleaccessapachessl服务器 openssl生成 ...

  10. 精彩回顾 HUAWEI HiAI 亮相华为北研所

    ​​从普通照片变成艺术品,仅需3秒: 从随手拍下的讲解胶片到生成规整清晰的ppt,只要瞬间…… 5月25日在华为北京研究所举办的HUAWEI HiAI技术合作交流会上,伴随着一声声惊叹,数款接入HUA ...