首页 > 代码库 > SVN分支研究

SVN分支研究

研究SVN分支合并的问题,只要用到trunk(主干)/branches(分支)/tags(标签),参考:http://www.cnblogs.com/EasonJim/p/6103807.html。

场景:

1、假设公司有一套电商产品,每个季度会发布一个版本,功能和底层上都是往上递增的。

2、那么问题来了,我们每个季度在发布每个新版本的同时,我们的销售也会不断的推广,可能在其中的一个版本就已经卖出去了。

3、由于客户更新版本的速度会没有那么快,毕竟是关乎钱的问题,可能会间隔几个版本之后才会选择更新一个版本,出这个版本钱去购买。

4、在第一次购买的电商产品的时候,里面就有属于自己的定制业务需求开发的功能,那么在购买最新的版本时候,必须包含最新的功能的同时也要包含自己以前定制开发的需求。

5、当在某个客户上开发的特定需求时,发觉这个特定需求也是属于我们产品需要的时候,那么会合并到我们的电商产品中,在下一个版本的发布上会带上这个功能。

基于以上场景,那么对于我们进行开发的时候,基于SVN的分支是最合适的。

分为以下版本:

主干(truns)版本A(不断的开发新功能,合并分支提交的bug)

分支(branches)版本A_1(其中发布的第A_1个用于销售的版本,并不断的在这个版本上进行开发修复bug,提交到主干,最后会发布第A_1、A_1.1、A_1.2...个版本到下面标签(tags)上)

标签(tags)版本A_1(其中发布的第A_1个用于销售的版本)

分支版本A_1_1(从tags或者branches上分支出来的A_1版本,客户1购买第A_1个版本,包含了自己的定制需求1)

分支版本A_1_2(从tags或者branches上分支出来的A_1版本,客户2购买第A_1个版本,包含了自己的定制需求2)

测试:

1、主干(truns)上的项目可以合并下面任何一个子分支的修改,包括子分支的子分支的修改。

 

SVN分支研究