现在的位置: 首页 > 综合 > 正文

subversion的合并于分支分析

2013年03月06日 ⁄ 综合 ⁄ 共 870字 ⁄ 字号 评论关闭

subversion的合并于分支分析

By 王军, 2009年11月28日 10:41 下午

    在使用Subversion一文中,对SVN做了详细的介绍,在这里我做一下相关的补充。关于SVN客户端插件在eclipse中得安装Google 的申请,我分别写了文章,大家可以参考一下。本文在写SVN的分支与合并所用的例子的svn服务器是以Google code提供的为例。

  svn的服务端一般分为3个目录,branches、tags、trunk。一般在trunk中存放的都是正确无误的项目,一般是有项目组长具有修改和合并的权限,在开发阶段轻易不会动此代码,都是确保正确无误后把分支上面的代码合并到主干。branches是存放项目分支的目录,往往为每一位开发不同模块的人员创建不同的分支,是开发成员能够在自己分支上面进行开发和调试,正确之后把其合并到主干。tags是存放具有里程碑意义的代码,代表项目实现了预计的功能,不会再进行改动所打出来的标签。

   下面以一个具体的项目为例讲述合并与分支。

 

  创建一个college项目,实现一些简单的类。

image

把其放入Google code的trunk中,在分别打三个分支,分别用来编写学生模块,管理模块和老师模块的分支。

每个分支都有对应的开发人员进行相应的开发,当开发完成一个功能时,要把其和并到主干。同时要把主干新添加的内容合并到分支。具体的如下:

主干工程:

image

分支一:

image

分支二:

image

分支三:

image

合并后的主干 :

image

可以清晰的观察到合并能够把三个分支的所有新功能添加到主干。但是,如果两个成员同时修改了同一个文件,那么在合并的时候很可能会出现冲突,这时候就需要手工修改。虽然利用svn可以进行协同合作,便利的合并代,但是他不可能完全没有错误。所以在实际的项目中要有资质专家进行合理的分工,同时经常进行合并,查看bug,切忌把所有功能实现之后再进行合并。

关于合并与分支,我们老师有一个视频,大家可以看一下:https://dev.easymorse.com/trac/tutorials/wiki/Subversion/Introduction

抱歉!评论已关闭.