https://my.oschina.net/u/4000302/blog/3032762?tdsourcetag=s_pctim_aiomsg
一、分支管理模式
1、开发阶段
除了master分支创建一个供所有开发人员开发的dev分支;
开发人员在dev分支上进行工作,随时随地commit,每天push一次到服务器;
push代码前需要进行pull操作,因为有可能在之前有别的成员先进行了push操作,如果有冲突还需要进行冲突解决;
每天上班后所有成员对dev进行pull操作,获取所有成员push的代码,有冲突需要解决;
团队Leader每天将dev合并一次到master。
2、测试阶段
测试进入后就需要添加test分支;
在开发人员将代码push到dev分支后,可以在dev基础上创建test分支,测试人员以test分支搭建测试环境,开始测试;
开发人员在接受到bug后,直接在测试分支上修改,然后让测试人员进行验证;
每天团队Leader将测试分支上修改的bug合并到dev分支上,这样所有团队成员当天修复的bug都会在第二天被团队其他人pull下来;
团队Leader每天将dev合并一次到master。
3、上线阶段
系统上线后试运行阶段会存在两种改动:bug和优化需求,bug通常当天解决晚上部署,优化需求通常周末部署;
bug当天能修复的就直接在test分支上修复,然后进行测试,验证通过后合并到master;
bug当天不能修复的就针对该bug创建一个分支,修复完后合并到test分支进行测试,验证通过后合并到master;
每个优化需求都以master分支为基础创建一个feature分支,完成后合并到dev分支,开发人员可以先交叉测试,然后将dev合并到test进行测试,验证通过后合并到master;
master始终是一个干净的,可发布的分支。