分支管理

目的

并行开发,互不干扰

概念

主干(trunk):用于主方向的开发,增加新功能,存放稳定的代码
分支(branch):通常用于修复bug,可以和主干并行开发
标记(tag):用于标记某个可用的版本(可以是已经上线发布的也可以是正在测试的),通常为只读

流程

建立项目

新建\trunk\MyProject,开发功能,测试上线

标记版本

新建/tags/1.0/MyProject,继续在\trunk\MyProject开发新功能

用户或测试反馈有bug,需要修复

新建/branches/MyProject,修复bug

bug修复完并测试上线

新建/tags/1.0.1/MyProject
将branches/MyAppProject打一个新的tag便于下次在此基础上再次修复bug
将branch merge进trunk,/branches/MyProject的源码如果不想要可以删掉

分支管理_第1张图片
分支架构(test分支用于bug修复)

分支合并的时机

不同分支的最大区别是功能上线的时间点。根据上线周期划分功能,拆分到不同分支。因为开发需求多,迭代频繁,所以靠后的分支对比之前的分支通常只是多了某些新功能。这样,分支的出现,避免了未开发完成的功能影响了已开发完的功能,导致当前版本的不稳定。所以,合并分支的时机就是这个分支的功能要不要上线。这样,主干永远是稳定的,也只有经过测试的内容,才会合入主干。同时,多个版本可以并行

branch和trunk并行开发的过程中,要经常同步
将trunk的修改合并到branch时,merge type选择"Merge a range of revision"
将branch最后合并回trunk时,merge type选择"Reintegrate a branch"
(tortoiseSVN)

你可能感兴趣的:(分支管理)