SVN合并使用方法名师指导

开发 项目管理
SVN合并你是否了解,在学习SVN的过程中你可能会遇到这样的问题,在这向大家介绍一下SVN合并(merge)的使用方法,欢迎大家一起来学习SVN合并方面的知识。

本节向大家简单描述一下SVN合并(merge)的使用情况,主要包括分支的合并和多分支合并两大部分内容,和大家分享一下,希望通过本节的介绍大家对SVN合并有新的认识。

SVN合并(merge)的使用
分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。
此操作十分重要,在团队开发中,如果你是SVN的维护者此环节可以说是必不可少,因为团队开发中如果使用了分支,那样合并分支到主干、或者分支合并分支的操作是必须的。如果不使用分支,直接在主干上修改的话,主干版本可能会变得十分混乱。维护难度大大加大。
下面以使用TortoiseSVN为例,任何SVN的客户端工具其实都大同小异。

一、SVN合并中分支的合并

点击菜单上的合并按钮,出现对应的窗口,一般的使用第三个选项即可。点击下一步。
注意填写起始和结束的URL及版本,尤其重要。这一步将影响你合并后所得的版本。
简单的说,“结束的URL和版本”是此次操作的最终标准。而“起始URL和版本”一般情况下必须是该分支创建的起始版本。
比方说,这次分支是从主干100上创建的,而分支的起始版本是101。最终分支完成后的版本是105。
简单情况下,主干上的版本没有被更新,依然是100。如果想把分支功能合并到主干上的话,我们可以在主干100的工作副本中点击合并,然后“起始URL和版本”填写主干的URL,版本100(或者HEAD,因为最新版本也是100),然后“结束的URL和版本”填写分支的URL和版本105(也可以是HEAD)即可。
操作完成后,此次合并效果会在工作副本上呈现,如果有问题请使用还原,撤销此次修改操作。
注:其他SVN的插件大同小异。

二、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)SVN合并分支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。

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

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分支和合并问题
  2. 专家提醒:SVN合并时应注意的关键问题
  3. SVN分支和合并问题专家在线讲解
  4. SVN分支与合并实例剖析
  5. SVN分支与合并之专家课堂

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-05-27 09:17:48

SVN冲突

2010-05-20 17:06:48

SVN CO

2010-05-24 12:53:38

子命令SVN merg

2010-05-27 13:48:30

SVN使用说明

2010-06-01 16:27:21

SVN插件报错

2010-06-29 17:15:29

UML建模方法

2010-05-20 14:35:58

SVN客户端常用命令

2010-06-01 13:54:42

TortoiseSVN

2010-05-25 16:52:39

SVN中使用Git

2010-06-01 19:55:30

SVN使用

2010-06-29 11:16:02

UML画类图

2010-05-31 11:30:57

SVN使用

2010-05-18 11:13:54

Subversion使

2010-05-28 14:36:24

2010-05-27 15:53:35

SVN属性设置

2010-06-01 10:12:44

安装SVN客户端

2010-05-31 19:53:05

SVN版本控制插件

2010-06-02 15:25:26

SVN版本控制

2010-05-28 09:15:47

SVN项目

2010-05-20 19:01:03

Eclipse使用SV
点赞
收藏

51CTO技术栈公众号