SVN分支与合并问题专家大讲堂

开发 项目管理
SVN分支与合并是在学习SVN过程中经常要遇到的问题,在这里和大家分享一下,希望通过本文的介绍,大家对SVN分支与合并有新的理解。

本节和大家学习一下SVN分支与合并的相关内容,主要介绍一下合并以及SVN合并分支应注意的问题,欢迎大家一起来学习SVN分支与合并方面的知识。

SVN分支与合并

合并

合并包含两点,首先两个版本库树比较,然后将区别应用到本地拷贝。
这个命令包括三个参数:初始的版本树(通常叫做比较的左边),最终的版本树(通常叫做比较的右边),一个接收区别的目标拷贝(通常叫做合并的目标)。
一旦这三个参数指定以后,两个目录树将要做比较,比较结果将会作为本地修改应用到目标工作拷贝,当命令结束后,结果同你手工修改或者是使用svnadd或svndelete没有什么区别,如果你喜欢这结果,你可以提交,如果不喜欢,你可以使用svnrevert恢复修改。

合并的工作是把主线或者分支上合并范围内的所有改动列出,并对比当前副本的内容,由合并者手工修改冲突。如果当前工作副本是主线的,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主线上的改动

(1)主干合并到分支

看一下SVN分支与合并中主干如何合并到分支。如果是需要将主线的改动合并到分支上,需要在分支的工作副本下进行合并,合并的范围是需要从主线上上次合并的版本到当前主线上***的版本,如果主线和分支都修改了相同的文件,合并后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增加到当前副本中,提交,如果是***次合并,则起始版本号是上次建立分支的版本号

(2)分支合并到主干

如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围是需要从分支上上次合并的版本到当前分支上***的版本,合并后会出现冲突(冲突的前提如上种情况),然后解决冲突,提交,如果是***次合并,则起始版本号是上次建立分支的版本号

SVN分支与合并中合并分支时很关键的一点

在使用TortoiseSVN对Subversion进行分支合并时,Merge界面上有两个选项:From和To。这两个选项应该如何设定呢?
对于合并的这操作,Subversion上对其有如下的解释:

引用
迷惑的主要原因是这个命令的名称,术语“合并”不知什么原因被用来表明分支的组合,或者是其他什么神奇的数据混合,这不是事实,一个更好的名称应该是svndiff-and-apply,这是发生的所有事件:首先两个版本库树比较,然后将区别应用到本地拷贝。

这个命令包括三个参数:
初始的版本树(通常叫做比较的左边),
最终的版本树(通常叫做比较的右边),
一个接收区别的工作拷贝(通常叫做合并的目标)。
一旦这三个参数指定以后,两个目录树将要做比较,比较结果将会作为本地修改应用到目标工作拷贝,当命令结束后,结果同你手工修改或者是使用svnadd或svndelete没有什么区别,如果你喜欢这结果,你可以提交,如果不喜欢,你可以使用svnrevert恢复修改。还有更详细的说明:

引用
为了表示你的分支上的修改,你只需要比较分支的初始状态与最终状态,在你的分支上使用svnlog命令,你可以看到你的分支在341版本建立,你的分支最终的状态用HEAD版本表示,这意味着你希望能够比较版本341和HEAD的分支目录,然后应用这些分支的修改到主干目录的工作拷贝。

其实使用这个功能后的过程是把To的版本和From版本进行对比,然后把之间的差异合并到当前的版本中。比如要把一个分支的修改全部给合并进来,From就应该选择主线创建了分支的那个版本,To就应该选择分支的Head版本。如果版本选择的不正确,比如说From选择了主线的Head版本,就会把所有分支和主线Head不同的文件都覆盖到主线上来,造成主线上修改信息的丢失。本节关于SVN分支与合并内容介绍完毕。
 

【编辑推荐】

  1. SVN分支与合并之专家课堂
  2. 深入讲解SVN分支与合并的关系
  3. 删除SVN版本信息行之有效的办法
  4. SVN分支与合并实例剖析
  5. SVN分支与合并学习大本营

 

 

 

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

2010-06-01 12:36:04

SVN分支与合并

2010-05-28 17:00:24

SVN分支与合并

2010-05-28 15:47:29

SVN分支

2010-05-28 15:57:20

SVN分支

2010-05-28 17:15:17

SVN分支与合并

2010-05-06 14:33:30

Unix系统交换区

2010-08-19 10:32:07

BM DB2数据复制

2010-06-01 12:19:27

SVN分支与合并

2010-05-20 15:32:38

SVN分支与合并

2009-12-17 18:04:59

Ruby调用Oracl

2009-12-17 09:31:02

Ruby on Rai

2009-04-24 20:54:00

2010-09-08 17:18:30

2010-06-01 11:22:30

SVN合并跟踪

2010-05-27 18:09:08

Apache SVN配

2020-02-24 16:45:03

idc/科技/智能化

2016-05-13 15:08:38

深信服虚拟化虚拟化大讲堂

2014-09-11 09:15:29

H3C

2011-05-09 09:28:12

投影机采购

2019-11-27 18:20:11

物联网产业RFID技术产业生态链
点赞
收藏

51CTO技术栈公众号