svn分支合并

SVN最核心基础

2018年5月30日星期三 皮亚杰 10:29

SVN 不管建立主干、分支,以及里面的若干项目、目录,其实都没有任何关联关系,都是简单的copy目录、文件,比如主干是trunk,分支是branches,里面都建立一个文件夹,虽然建分支时,是从trunk复制出来的,但是此后二者在文件系统里其实没什么关联,branches里修改也只是对应在branches下,不管update还是commit都是在branches下,只有专门的操作Merge(合并)才会将修改往trunk靠拢。

SVN分支、合并思想

2018年5月30日星期三 皮亚杰 10:00

master分支代表线上版本,如果线上版本发现需要立即紧急修改的bug,此时不能直接在master上改,因为改了以后上线,不排除会引入该修改导致其他地方瘫痪。所以要从master上拉一个分支,在分支上进行修改,改完后可直接在分支上进行回归测试,测试后可以将改动的地方合并(即merge)到master上。

同时需要将改动的地方合并到开发分支上。

开发分支按照产品划分,即对一个产品来说,并非每个人自己拉一个分支,而是大伙儿一起用一个拉出的分支。(因为每人一个分支(自己猜的,未考证),容易产生几何倍数的conflicts(自己猜的,未考证),无法控制(自己猜的,未考证),据说也有公司选择每个人拉一个分支)

 

SVN主干合并、分支等,(新版本>=1.8)开发人员用)

一、导入,建立分支

步骤一:Import下来的项目,点击右键:Team=》分支/标记

 svn分支合并

(把目录选到branches下的,最好在branches下建一个同名的项目文件夹。)

二、切换分支

步骤三:鼠标右键Team=》“切换”,之后在URL选择需要切换的分支即可。

 svn分支合并

或者Import该分支项目所在地址。

三、从主干向分支合并

步骤四:

分支开发过程中,不定时从主干向分支合并,随时解决冲突

 

 在分支项目上右键-team-合并

 

 

 

 

 

 

 

 

 

 

 四、从分支向主干合并

 

 

步骤五:(这步最重要,和1.8之前的不太一样,没有了svn1.8版本的第一个选项reintegrated branch

 

说明:第一个选项Merge a range of revisions,是从主干往分支Merge代码

1.8之前的版本的第二个选项reintegrated branch,是从分支往主干Merge代码(1.8之后的版本,这功能被抛弃了)

第四个选项(1.8版本后是第三个选项),改为用Merge two different trees

步骤四:(需要两边的代码都updatecommit一下,保持最新,之后操作)

Merge two different trees,点【next】之后,

需要分支往主干合并代码,从而使主干代码和分支代码一模一样。

(需要两边的代码都updatecommit一下,保持干净,保持最新,之后操作)

 

上面填trunk路径,下面填branch路径

 

这两个图一样,其实就是上面填trunk路径,下面填branch路径,这样就能把下面的改动合并到上面去。(具体还得试下)(一般都选择“最新修订版”(即HEAD Revision),当然也可以自己选择版本)

 

 

 

 

 

 

 

svn分支合并(老版本(至少<1.8))

2018224 

10:27

 

 

 

 

 

1、分支开发过程中,不定时从主干向分支合并,随时解决冲突

 

 在分支项目上右键-team-合并

 

 

 

 

 

 

 

 

 

 

 

 

2、分支开发结束后,合并到主干。

 

合并前再做一次从主干合并到分支,解决冲突,然后提交分支

 

切换到主干项目,更新

 

在主干项目右键-team-合并