您的位置:首页 > 编程语言 > Java开发

eclipse中SVN分支合并到主干(记录)

2017-07-19 00:00 176 查看
摘要: ECLIPSE SVN

eclipse中SVN分支合并到主干(记录)

一、从分支合并主干

被操作对象: 主干

From : 主干的 打出分支时的版本(或者当前最新版本)

To: 分支的 Head版本 (最新版本)

怎么理解这个 From 和 To 呢 ? 似乎跟我们的想当然不太一样:因为我们理解,把分支合并到主干,肯定是 From 分支,To 主干。怎么搞反了呢?

实际上, svn 认为,我们要合并的,是从主干的某个版本开始,到分支的某个版本结束。两边的版本号实际上是一套系统,不会有重复。

具体步骤:

要想将分支合并到主干,首先需要切换到主干。

在项目上面点右键,选择Team — 切换,URL地址为主干的访问路径。

在项目上面点右键,选择合并,选中“merge two different trees”。

在接下来的界面中选择如下:

From的路径填写主干的访问路径。在下面的版本选择中可以选择HEAD Revision(主干的最新版本),或者指定其他版本。

To的路径为分支的访问路径。可以在版本选择中选择HEAD Revision(分支的最新版本),或者指定其他版本。

点击Finish后会进行合并操作。

解决冲突,提交到主干。

合并完成后会将分支和主干的文件进行合并在本地。

如果在分支和主干中同时修改了一个文件,这时可能会出现冲突,需要手动更新这个文件来解决冲突。

当所有的冲突解决后,需要将修改提交到主干中,这样分支合并就完成了。

分支可以继续保留在SVN中,如果不需要也可以删除。

二、从主干合并到分支

试想这样的情况:一个项目里面,要独立出来一个子项目,需要单独发布版本,用到了基础框架代码,而基础框架在主干中不断修改完善,这就需要从主干合并到分支。

被操作对象: 分支

From: 分支的第一个版本(最旧版本)

To: 主干的Head版本(最新版本)

相当于从分支的第一个版本开始一直到主干最后一个版本结束合并之后,替换分支。

三、从分支合并到分支

有这样的需求:一个项目中有很多分支,这些分支需要分期上线,有多个工作并行,但每一期之间不能相互影响,这就可以打出几个tag(也是分支),从主干 copy而来。其他主干根据排期分别合并到这些tag中来。比如有prjTag1和prjTag2,model1、model2需要合并到prjTag1 中,model3、model4需要合并到prjTag2中。拿prjTag1举例:

在prjTag1的work copy中,merge

From : 主干的打出分支时的版本

To: 分支的Head版本 (最新版本)

注意: From不是本Tag的某个版本,而是之前主干打出分支时的版本,最终Merge到prjTag1的work copy,而prjTag1是找不到当初打分支时的版本的。

四.(实战)

在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干。本文介绍如何在eclipse中合并分支到主干。

a. 要想将分支合并到主干,首先需要切换到主干。

在项目上面点右键,选择Team — 切换,URL地址为主干的访问路径。

. 在项目上面点右键,选择合并,选中“merge two different trees”。

c. 在接下来的界面中选择如下:

From的路径填写主干的访问路径。在下面的版本选择中可以选择HEAD Revision(主干的最新版本),或者指定其他版本。

To的路径为分支的访问路径。可以在版本选择中选择HEAD Revision(分支的最新版本),或者指定其他版本。

点击Finish后会进行合并操作。

d. 解决冲突,提交到主干。

合并完成后会将分支和主干的文件进行合并。如果在分支和主干中同时修改了一个文件,这时可能会出现冲突,需要手动更新这个文件来解决冲突。当所有的冲突解决后,需要将修改提交到主干中,这样分支合并就完成了。分支可以继续保留在SVN中,如果不需要也可以删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ECLIPSE SVN