SVN的merge操作是为了保证主干(trunk)和分支(branch)同步,merge方式有:

1、Merge a range of revisions(合并一个范围的版本)

2、Reintegrate a branch(复兴合并)

3、Merge two different trees(合并两个不同的树)

一、合并一个范围的版本

此类型应用最为广泛,主要是把分支中的修改合并到主干上来。在主干上点击右键选择合并,然后选择合并类型:合并一个范围的版本。

合并的源URL填写的是要合并的分支的URL,待合并的版本范围如果为空,则指的是合并分支上所有的版本,即自从分支创建以来到分支当前最新版本的所有演变。如果只是选择其中一个版本,或者几个版本,那么就表示只是将制定的n个版本的变化合并到主干上。如果只是选择其中一个版本,那么表示只是选择那个版本的修改,之前或之后的修改将不被采纳。

二、复兴合并

复兴合并可以理解为是第一种合并类型的一种特例,在复兴合并中,主干可以理解为是自从开创分支之后没有任何修改,而分支是经过修改的,而且合并中分支是没有版本选择的。经过复兴合并,分支中所有的修改都会合并到主干中,合并的结果将使得分支和主干一模一样,从而可以删除分支。

三、合并两个不同的树

此类型与前两种类型不同,第一种类型可以选择分支合并的版本,主干不能选择版本;第二种类型是主干和分支都不能选择合并的版本;而这种类型则是无论是主干还是分支都可以选择合并的版本,即可以选择过去的一个主干版本与分支的某个版本进行合并。合并的时候以选择的分支版本为主,如果选择的主干版本与分支版本有不同的地方,合并时主干部分将被放弃。

起始URL:选择主干目录的URL(应当和当前工作副本的URL一致,这个是所谓的合并点)

结束URL:选择要合并的分支的URL。

起始和结束的版本:一般起始版本应当找到最后一次同步时的版本,如果从没有同步过(第一次合并),则选择创建分支时的版本,结束版本一般是最新版本,如果你不想将某些内容合并进主干的话,也可以选择一个合并点。

实例:

主干A在95版本的时候创建分支B,此时两棵树都是95版本

1、 我在分支B上增加文件test.txt,提交。此时版本库升级到了96版本。

2、 我在A上选择合并类型1,合并分支最新版本,结果是把test.txt加入A

3、 我在A上选择合并类型2,合并分支最新版本,结果同上;

4、 我在A上选择合并类型3,合并分支最新版本,结果同上;

5、 我在A上增加文件test2.txt,提交,此时版本库升级到了97版本;

6、 我在A上选择合并类型1,合并分支最新版本,结果是把test.txt加入A;

7、 我在A上选择合并类型2,合并分支最新版本,结果是把test.txt加入A;

8、 我在A上选择合并类型3,主干选择当前97版本,合并分支最新版本,结果是把test.txt加入A,把test2.txt从A删除。

9、 我在A上选择合并类型3,主干97以前的版本,合并分支最新版本,结果是把test.txt加入A,而A中保留着test2.txt。

将分支合并到主干上,首先需要在主干的工作副本下进行,合并的范围是从主干的上次合并的版本开始到分支上最新的版本结束,如果是第一次合并,则从主干创建分支的版本开始,所以每次合并要做好说明,在日志中体现,不然忘记了下次再合并就有点麻烦。其实,应当尽量避免一个分支合并多次,分支的作用一般为了解决bug,一旦bug对应结束了,分支的使命就结束了,以后再出现其他的问题,应当重新建立分支,这样就不会出现多次合并的问题了

转自:http://chunanyong.iteye.com/blog/697255

SVN的三种merge方式【转】的更多相关文章

  1. Linux下SVN的三种备份方式

    原文链接:http://blog.csdn.net/windone0109/article/details/4040772 (本文例子基于FreeBSD/Linux实现,windows环境请自己做出相 ...

  2. C# 三种打印方式含代码

    一:C#代码直接打印pdf文件(打印质保书pdf文件) 引用: 代码注释很详细了. private void btn_pdf_Click(object sender, RoutedEventArgs ...

  3. oracle Hash Join及三种连接方式

    在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...

  4. SQL Server中的三种Join方式

      1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...

  5. 通过三个DEMO学会SignalR的三种实现方式

    一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...

  6. Hive metastore三种配置方式

    http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...

  7. django 模板语法和三种返回方式

    模板 for循环 {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} if语句 ...

  8. js的三种继承方式及其优缺点

    [转] 第一种,prototype的方式: //父类 function person(){ this.hair = 'black'; this.eye = 'black'; this.skin = ' ...

  9. spring ioc三种注入方式

    spring ioc三种注入方式 IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容 ...

随机推荐

  1. UIButton和UISlider

    UIButton 主要功能:按钮控件,主要用于与用户操作进行交互 经常使用属性及方法 系统内建的按钮类型 UIButtonTypeCustom UIButtonTypeSystem UIButtonT ...

  2. laravel有用的方法

    1.tinker 造假数据 factory('App\User',3)->create(); DB::table 返回collection,可以用collection中的很多方法 比如-> ...

  3. 【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition

    论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal.论文提出一个locNet的深度网络,不在依赖于回归方程.论文中提到locne ...

  4. Skype for Business七大新功能

    Lync Server 2013的下一版本号.Skype for Business将于2015年4月正式公布,下面是七大新功能. "呼叫监听"(Call Monitor)--假设你 ...

  5. .net Core使用Orcle官方驱动连接数据库 C#参考教程 http://www.csref.cn

    .net Core使用Orcle官方驱动连接数据库   最近在研究.net Core,因为公司的项目用到的都是Oracle数据库,所以简单试一下.net Core怎样连接Oracle. Oracle官 ...

  6. COCOS学习笔记--即时动作ActionInstant

    Cocos引擎中的动作类的关系图例如以下: 能够看出,Action是继承自Ref类的,之前我的博客中也有讲过,Ref类是cocos2dx全部类的基类.动作类(Action)是全部动作的基类.它通过cr ...

  7. HNOI模拟 Day3.25 By Yqc

    怕老婆 [问题描述] 有一天hzy9819,来到了一座大城市拥有了属于他自己的一双滑板鞋.但是他还是不满足想要拥有属于自己的一栋楼,他来到了一条宽敞的大道上,一个一个记录着这些楼的层数以方便自己选择. ...

  8. 【USACO07FEB】 Cow Relays

    [题目链接]              点击打开链接 [算法]            朴素算法,就是跑N-1遍floyd            而满分算法就是通过矩阵快速幂加速这个过程 [代码]   ...

  9. Python---NumPy模块---矩阵操作

    1.NumPy访问[数组&矩阵] 2.矩阵的运算 3.NumPy通用函数 4.NumPy矩阵的合并和分割 print "**********Numpy访问(数组&矩阵)*** ...

  10. 栗染-git命令搭建简单的个人的网页

    本来一个很简单的东西被自己搞了很久 可能是对于一个小白来说第一次认识到github的魅力吧,以前只是听别人说过用github搭建网站,听起来很厉害的样子,一直也没有尝试过,突然兴起今天去网上找一些教程 ...