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=》分支/标记
(把目录选到branches下的,最好在branches下建一个同名的项目文件夹。)
二、切换分支
步骤三:鼠标右键Team=》“切换”,之后在URL选择需要切换的分支即可。
或者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
步骤四:(需要两边的代码都update、commit一下,保持最新,之后操作)
点Merge two different trees,点【next】之后,
需要分支往主干合并代码,从而使主干代码和分支代码一模一样。
(需要两边的代码都update、commit一下,保持干净,保持最新,之后操作)
上面填trunk路径,下面填branch路径
这两个图一样,其实就是上面填trunk路径,下面填branch路径,这样就能把下面的改动合并到上面去。(具体还得试下)(一般都选择“最新修订版”(即HEAD Revision),当然也可以自己选择版本)
svn分支合并(老版本(至少<1.8))
2018年2月24日
10:27
1、分支开发过程中,不定时从主干向分支合并,随时解决冲突
在分支项目上右键-team-合并
2、分支开发结束后,合并到主干。
合并前再做一次从主干合并到分支,解决冲突,然后提交分支
切换到主干项目,更新
在主干项目右键-team-合并