【原创】关于不同分支代码的Merge有了透彻的理解

多分支开发,Merge是一个绕不过的话题,不管是Git还是SVN,公司用的是SVN,之前对于SVN的Merge没有很好的研究,出了些状况,这个问题不解决,顺畅地进行多分支开发就是海市蜃楼,下定决心把这块给完全搞透,在百度上找到的都是太古老的资料,SVN的帮助又没有写得太清楚,没有例子,最终在StackFlow上找到了线索,通过自己的试验找到了一条我认为是正确额做法。简单总结如下:

1、主干是一切的基石

2、任何分支的来源都必须是主干

3、如果主干修改不多,以分支修改为主的,且需要把主分支的变更及时同步到子分支的,就一定要及时Merge,也就是主分支有变更之后立即Merge到子分支

4、每次从主干建立一个新分支之前,一定要把还在开发的分支都Merge到主干

5、如果从主分支建立子分支之后,主分支的改动由于某种原因不宜立即Merge到子分支的(比如:子分支是处于集成测试阶段即将发版的,在主分支上修复了某些不在这次发版范围内的小Bug),在子分支告一段落后,一定要及时Merge到主分支

6、对子分支的管理,要注意以下原则:

1)没有必要不要建立子分支:子分支越多,越难管理

2)开发结束之后确定不需要再维护的子分支,建议及时删除

7、一般情况下不建议使用“Merge to different trees”来做Merge,第3、4种情况,都请用“Merge a range of revisions”,(TortoiseSVN1.8版以上),具体如下:

【原创】关于不同分支代码的Merge有了透彻的理解

要从主分支Merge到子分支的时候,在子分支的WorkCopy上点击右键选“Merge”,具体设置如下:

【原创】关于不同分支代码的Merge有了透彻的理解

要从子分支Merge到主分支的时候,在主分支的WorkCopy上点击右键选“Merge”,具体设置如下:

【原创】关于不同分支代码的Merge有了透彻的理解

上一篇:C#------如何深度克隆一个对象


下一篇:OpenGL ES: Array Texture初体验