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

时间: 2024-09-28 16:41:44

SVN MERGE 方法(原创)的相关文章

[原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[转载]Tortoise SVN使用方法,简易图解

刚到公司实习,为了版本控制,我公司使用SVN控制版本,在此记下SVN使用方法,仅供参考! 废话少说,上图! -------------------------------------------------------我是分割线-------------------------------------------------------------------------------------- 首先就是安装程序啦,这就不用讲解了吧! -----------------------------

svn merge和branch分析

[转载] 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤. 最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后忘了,故趁着余温尚在赶紧写下来,好记性不如烂笔头嘛.下文的实践主要是参考了TortoiseSVN的帮

PHP截取中文字符串不出现?号的解决方法[原创]

PHP截取中文字符串不出现?号的解决方法[原创] 大 | 中 | 小 [不指定 2007-8-15 18:51 | by 张宴 ] [文章作者:张宴 本文版本:v1.0 最后修改:2007.08.15 转载请注明出处:http://blog.zyan.cc] 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 view plainprint? <?php $text = "1欢迎访问sina新浪播客"; $value = substr($tex

svn使用方法小记

(1)连接: svn ls svn://192.168.*.***/xxx    输入用户名和密码后,即会显示所连接的项目目录下的子目录,这也说明链接成功        了(2)checkout: svn co svn://192.168.*.***/xxx    把svn上的项目checkout到本地(3)显示版本信息 svn info(4)svn add foo    将foo添加入工程,若foo为目录,所有文件都将加入,若只想加入目录本身,svn         add foo --non

AutoGenerateColumns属性对WinForm中数据集AcceptChanges和Merge方法执行时间的影响

WinForm窗口中有一个DataGridView控件,用来显示数据源(DataTable)中的数据,数据源大概有60个字段. 当数据源中的记录数不多,比如几条.十几条记录时,执行AcceptChanges和Merge方法看不出有什么性能问题. 但是当数据源中的数据记录数达到1000条的时候,执行AcceptChanges和Merge两个方法所要耗费的时间明显变长,达到7.8秒才能完成,这个时间甚至比网络数据传输加上数据库更新所用的时间之和还要长! 经过一番摸索之后,发现在为DataGridVi

Hibernate中的merge方法

Hibernate中有一个常见的错误: A different object with the same identifier value was already associated with the session 在一个session中存在两个不同的实体却有着相同的身份标签(主键)是会报错的,想要避免这种错误可以使用Hibernate中的merge方法. merge方法的作用: new一个对象并设置ID时,这个对象会被当作游离态处理,在使用merge时,如果在数据库中不能能找到这条记录,则

linux下重新定位svn url方法

linux下重新定位svn url方法: 如果更换了SVN服务器,就需要重新定位,指向新的svn url. 重新定位命令:svn switch --relocate 原svn地址 新svn地址. 查看原svn路径方法:svn info linux下重新定位svn url方法

MyEclipse SVN安装方法

方法一:在线安装 1.打开HELP->MyEclipse Configuration Center.切换到SoftWare标签页. 2.点击Add Site 打开对话框,在对话框Name输入Svn,URL中输入:http://subclipse.tigris.org/update_1.6.x3.在左边栏中找到Personal Site中找到SVN展开.将Core SVNKit Library和Optional JNALibrary添加(右键Add to Profile),Subclipse下面的