SVN MERGE 方法(原创)

简介:

SNV merge操作

1. 创建分支 A

 

 

 

 

需要添加branch,a目录。但在提交的时候会提示目录已经存在,需要再删除它。

 

 

 

这样branch就建好了接下来做些修改,更新branch/a

  

 

2, Merge branch更新到trunk

 

 

选择Trunk merge

 

 

 

3.合并方式介绍

这里有两种选项,网上有介绍三种选项,不知道我的为什么只有两种

三种选项介绍

一、合并一个范围的版本

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

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

 

PS,这个好理解,就是从另一个分支合并到我所选择的分支。我可以选择trunk/branch.

 

二、复兴合并 (我的没有这个选项

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

 

三、合并两个不同的树

If you are using this method to merge a feature branch back to trunk, you need to start the merge wizard from within a working copy of trunk.

In the From: field enter the full folder URL of the trunk. This may sound wrong, but remember that the trunk is the start point to which you want to add the branch changes. You may also click ... to browse the repository.

In the To: field enter the full folder URL of the feature branch.

In both the From Revision field and the To Revision field, enter the last revision number at which the two trees were synchronized. If you are sure no-one else is making commits you can use the HEAD revision in both cases. If there is a chance that someone else may have made a commit since that synchronization, use the specific revision number to avoid losing more recent commits.

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

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

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

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

PS: 与第一中不同的地方就是可以设定版本。需要注意的是起始URL是本地workplace.

结束url 是要合并的分支url.

4. 按合并一个范围的版本(分支a-->trunk)

 

 

 

 

 

Trunk目录变化情况,2个doc文档是已有的,branch/a的test1被加入到workplace中

 

 

 

Commit 之后就merge完成。

 

 

 

版本变化可以看出,从trunk18 创建分支a, a变更到25. 再merge分支到26

5. 按合并一个范围的版本(分支trunk -->a)

在trunk上修改,添加一个文件,使trunk版本到27.

 

选择branch/a, 执行merge.

 

 

FromUrl设为trunk的url. 继续下一步,按缺省设定,进行Merge。

 

 

Merge ok 后执行commit

 

 

 

 

revision 28 被加到branch/a

6.按合并两个不同的树(分支a-->trunk)

在branch/a 加入test3文件,并commit,版本到29

 

 

选择trunk 执行Merge,选择merge two diffrent trees.

 

 

 

 

From URL 设为trunk, To设为branch/a. 然后next 按缺省选择执行Merge. 并提提交。

Trunk合并了branch/a 版本变为30.

 

 

 

 

 

 

 

7. 合并不同的树(trunk --> 分支a)

Trunk 加入一个文件aaaa.txt, 更新revision 到34.

 

 

执行merge

 

 

Merge后,trunk被合并到branch/a

 

 

 



本文转自莫水千流博客园博客,原文链接:http://www.cnblogs.com/zhoug2020/p/5743615.html,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
自然语言处理
SVN合并(Merge)与拉取分支(Branch/tag)操作简介
SVN合并(Merge)与拉取分支(Branch/tag)操作简介
526 0
|
程序员 Android开发
Eclipse最新SVN(4.2.x )插件subclipse安装方法
Eclipse最新SVN(4.2.x )插件subclipse安装方法
253 0
Eclipse最新SVN(4.2.x )插件subclipse安装方法
|
Apache 数据安全/隐私保护 Windows
Windows 系统下svn提交同步web目录的方法
Windows 系统下svn提交同步web目录的方法
224 0
|
存储 开发工具
svn merge
svn merge 命令的使用 merge是干啥的呢? 使用过SVN都知道SVN其实就是一个代码管理的软件,使用它可以很好的解决代码冲突。他可以针对一个文件产生不同的版本,每一个版本都对应自身的改动。
1680 0
|
测试技术
svn分支开发与主干合并(branch & merge)
先说说什么是branch。按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图:   branch存在的意义在于,在不干扰trunk的情况下,和trunk并行开发,待开发结束后合并回trunk中,在branch和trunk各自开发的过程中,他们都可以不断地提交自己的修改,从而使得每次修改在repository中都有记录。
1721 0