SVN 分支与主干的合并

SVN简单介绍

branches:分支, 仅限开发, 合并使用. 通常是以项目名字命名子目录.

trunk:主干,一般来说就是开发的主要呆的地方,

tags:  目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档、

分支的作用:如下图

分支合并主干

1、首先分支要更新到最新版本

2、将主干(trunk)Check out 到本地(merge是合并在开发者本地

在本机随意一个目录新建一个空目录,比如在d盘新建了一个master的目录,然后右键=>SVN Check out,将trunk的svn地址复制到“URL of repository”那一栏,然后点击“OK”

3、选中创建的master目录,然后右键=> TortoiseSVN  => 选择merge,这时会弹出一个Merge type让你选(TortoiseSVN1.9.5这个版本只有两个选项,网上有些博文有三个选项)

Merge a range of revisions:合并一个范围的版本

 

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

合并的源URL填写的是要合并的分支的URL,待合并的版本范围如果为空,则指的是合并分支上所有的版本,即自从分支创建以来到分

支当前最新版本的所有演变。如果只是选择其中一个版本,或者几个版本,那么就表示只是将制定的n个版本的变化合并到主干上。如果

只是选择其中一个版本,那么表示只是选择那个版本的修改,之前或之后的修改将不被采纳。


4、上步选择了Merge a range of revisions 之后,点击“Next”,进入如下界面,这时我们就可以看到如下界面

要合并的路径:分支合并主干时选择分支路径、主干合并分支时选择主干路径

选择版本号:可以选择所有版本进行合并、或者选择指定的某一版本进行合并,比如最新提交的版本(点击 show log 会出先之前版本号)

5、上步选择完成之后,点击“Next”,进入如下界面,这时我们就可以看到如下界面

全部使用默认的选项,然后在点击Merge之前,可以先点击Test merge按钮,测试一下merge之后的效果

如上图所示,这样就完成了分支合并到主干的操作。

=======================================================================================

如果选择的是 Merge two different trees 

Merge two different trees:合并两个不同的树

此类型与前两种类型不同,第一种类型可以选择分支合并的版本,主干不能选择版本;第二种类型是主干和分支都不能选择合并的版本;

而这种类型则是无论是主干还是分支都可以选择合并的版本,即可以选择过去的一个主干版本与分支的某个版本进行合并。合并的时候

以选择的分支版本为主,如果选择的主干版本与分支版本有不同的地方,合并时主干部分将被放弃。

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

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

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

上步之后,点击Next,进入下面这个页面,同样,在最终merge之时,点击Test merge

点击Test merge之后,可以看到最终合并之后的效果

主干(trunk)中的代码合并到分支(branch)

这边的操作和分支(branch)合并到主干(类似),需要注意的是,Merge type如果选择“Merge a range of revisions”,那么范围的起始版本应该为拉取分支时的主干版本,

结束版本应该为trunk最新的版本;如果选择“Merge two different trees”,那么From必须是选取拉取分支时的主干的版本,或者分支的第一个版本,To必须是主干最新的版本


最后总结一下不管选取哪个Merge type,都能完成主干到分支、分支到主干的合并,需要注意的是,在选择“Merge two fifferent trees”时From和To对应的URL所代表的含义

参考链接:https://www.cnblogs.com/xdouby/p/7237005.html

猜你喜欢

转载自blog.csdn.net/weixin_42235781/article/details/80864987