分支管理
一、分支管理流程图
二、分支说明
1. 主分支
分支:master
描述:该分支由管理员合并和管理
2. 开发分支
分支:dev_x.x.x
描述:开发新需求的分支,本地和开发环境使用的分支
3. 测试分支
分支:test_x.x.x
描述:开发完需求,准备提测和测试阶段的分支
4. 生产分支
分支:prod_x.x.x
描述:测试完成准备上到客户测试环境或者我们自己的正式环境时使用的分支
5. 自定义分支
分支:evo_prod_x.x.x、google_x.x.x、mobile_prod_x.x.x
描述:客户测试或者正式环境的私有配置分支(私有配置指该客户的部分定制功能)
三、场景说明 & 示例
1. 开发新版本2.7.3需求怎么操作?
答:首先切换到master分支,拉取一下分支。然后从该分支创建新的版本分支dev_2.7.3
2. 在dev_2.7.3开发完成后准备提测怎么操作?
答:直接从当前的dev_2.7.3分支创建新的分支test_2.7.3
3. 准备发布客户测试环境或者公版正式发布?
答:直接从当前的test_2.7.3分支创建新的分支prod_2.7.3
4. 客户测试环境前端有私有定制的功能怎么做?
答:直接从当前的prod_2.7.3分支创建新的分支evo_prod_2.7.3。这里的evo看客户,不同的客户不同的代号。然后直接在evo_prod_2.7.3分支根据客户需求修改配置,该分支禁止合并到prod_2.7.3 test_2.7.3 dev_2.7.3 以及master分支
5. 发布正式&封版本怎么操作?
答:发布正式使用prod_2.7.3版本,同时通知管理员合并当前的分支到master,并删除dev_2.7.3 test_2.7.3分支,只保留prod_2.7.3分支和客户私有分支。该需求版本任务结束
6. 正式环境出现bug和需求调整?
答:从该版本的prod_2.7.3分支上创建新分支,比如fix/2.7.3 style/2.7.3等,然后在fix/2.7.3分支修改代码,测试验证问题以后直接合并到prod_2.7.3,并通知管理员合并到主master
7. 客户私有定制的分支出现问题怎么解决?
答:如果该分支问题,属于公版(所有版本都有的)存在的问题,就按照上面第六步(6.正式环境出现bug和需求调整?)的流程去走,然后合并到客户分支evo_prod_2.7.3。如果属于客户私有定制的问题,就直接在evo_prod_2.7.3这个分支上面修改,这个修复的私有部分只允许该分支存在。不允许反向合并到其他分支
ps
封版本后,合并到prod分支并且已合并到master分支。可以将同版本的dev,test,fix分支删除
四、问题思考
saas类产品遇到客户的部分私有定制分支怎么管理?切换新分支,还是重新一个新仓库管理? 客户私有部署,版本的管理与后期的升级怎么处理?