您的位置:首页 > 移动开发 > Android开发

TortoiseSVN新建和合并分支图文教程

2015-08-08 15:55 281 查看

       一、首先说下为什么我们需要用到分支-合并。

         比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作【某个模块】,小组2进行新需求的开发。那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版【主干线】的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过【合并】功能,将分支合并到trunk上来,从而最后合并为一个项目。

      二、下面开始创建分支:

      1、在trunks上点击右键,在TortoiseSVN菜单中选择Branch/Tag;

      2、在To path输入框中输入新建分支的路径,一般是:/branches/分支名,也就是相当于分支保存的路径名;

      3、在下面选择HEAD revision in the repository,为当前SVN中trunks目录下最新的代码建立分支,如果需要为制定的revision建立分支,可以进行选择;

      4、点击OK分支建立完成。

      5、打开branches目录,发现目录依然为空,没有刚才建立的分支,这是因为分支建立的操作是在服务器端完成的,当需要编辑分支时,在branches目录点击Update,刚才建立的分支就会下载下来。

     6、建立分支的过程会非常的快,不会因为主干中的文件多而降低速度,原因后续说明。

[b]    三、使用TortoiseSVN合并分支:[/b]



    1、在trunks上点击右键,在TortoiseSVN菜单中选择Merge;

    2、在弹出的窗口中选择第二项,可以理解为合并两个树;

   3、在From和To中都选择要合并的分支目录;

    4、在From的Revision选择创建分支时的那个Revision,具体就是点击Show log,选择最下面那一条;

    5、在To的Revision选择HEAD Revision,也就是最新操作;

    6、点击Next,下一个页面使用默认项,点击Merge;

   7、合并完成。[b]这时候会发现trunks目录下的文件已被修改,这时候的合并操作是在本地完成的,并没有提交到SVN,这与分支建立时有区别,请注意。[b][b]也就是说如果你在本次合并中发现问题,只需要对trunks目录Revert,放弃本次合并即可。[/b][/b][/b]

[b][b][/b][/b]

创建分支时发生了什么

SVN服务器在创建分支时的拷贝是非常有效率的,瞬间就可以完成,并且只需要很少的空间来存储,所以不需要担心分支建立过多导致项目仓库膨胀的问题。

可以理解为SVN在服务器中存储的是文件的引用,而非物理上的拷贝。

不要多次合并同一个分支到主干

合并分支有一个原则,就是不要对一个分支多次合并到主干,虽然你有可能在合并后又对分支进行了修改,之所以这样说是有原因的。

上面提到在合并分支时,在From的Revision选项中需要选择合并的其实版本,如果是第一次合并只需要选择最早的那个版本即可,但如果合并过一次,你真的能记得你上次合并时最后的Revision是多少吗?

良好的操作是合并后新建分支。

合并主干到分支

其实合并是个可逆的过程,合并主干到分支与合并分支到主干正好是相反的操作,大家如果会了一种另一种应该非常简单。

这里我就不演示了,如果真的需要的话可以在博客中评论,大家确实需要的话我会写出来。

记录,为更好的自己!






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息