svn merge操作

一、目的

简单记录svn的merge操作,特别是merge时的from,to很容易根据字面意思弄错。 

二、操作

1.  本地创建Testing目录,里面自动包含三个文件夹branches,tags, trunk.

svn merge操作_第1张图片

2.  trunk目录下创建examples1目录,里面添加文件hello.c,之后commit到server.

svn merge操作_第2张图片

3.  创建分支到branches/examples1。

1.      在trunk的examples1目录,选择Branck/tag,创建分支。

svn merge操作_第3张图片

2.      路径选择branches/examples,并添加注释,之后点击OK。点确定后,svn服务器上已经将trunk的examples1copy到branches/examples1了,但是没有自动同步到本地。需要本地update目录才能下载分支。

svn merge操作_第4张图片.

3.      update本地Testing目录后,代码下载到本地。

svn merge操作_第5张图片

4.  修改branch/examples1下的内容(修改hello.c,添加hello.h),并commit到服务器。

svn merge操作_第6张图片

 

5.  将branch下的exmples1合并到trunk的examples1.

a.      在trunk下的examples1目录选择merge功能。

svn merge操作_第7张图片

b.      选择differenttree

svn merge操作_第8张图片

c.      在From中选择trunk的路径,在to中选择branches路径。在merge时,前后版本会先比较内容,再将差异部分copy到本地。From是左边,类似于原始版本,to是右边,类似于修改后的程序。

svn merge操作_第9张图片

d.      merge之后,branches的内容已经更新到trunk目录,之后通过commit,将内容放到服务器。

svn merge操作_第10张图片

6.  修改trunk/examples1的内容,并commit到服务器

svn merge操作_第11张图片

7.  Trunk Merge到Branches

a.      在Branches/examples1目录,右键选择Merge功能。之后仍然选择differenttree。

svn merge操作_第12张图片

b.      之后选择路径,from选择branches,to选择trunk。

svn merge操作_第13张图片

c.      点OK后,trunk的内容就合并到了branches。之后commit到服务器就Ok。

svn merge操作_第14张图片

三、总结

1.      如果merge时出现冲突,需要小心处理。

2.      在使用merge功能时,一定要在合并目的地选择merge功能,而不是在数据源处选择merge。

3.      里面的from和to很容易被字面意思搞混,容易理解成“从。。到。。”。其实可以理解为,from为左边,起始状态,to为右边,最终状态。他们之间会做diff比较,之后将to的内容更新到from。

4.      svn操作记录从版本25-29.

svn merge操作_第15张图片

你可能感兴趣的:(实用操作)