一般项目上的分支管理:
- 使用master分支进行开发;
- 上了SIT后,基本不再提交开发代码至master,部署SIT或UAT环境;
- 拉bugfix分支修复SIT/UAT阶段发现的bug,修复后merge入master,再次部署环境回归;
- 若SIT阶段还在同时开发下一迭代功能:
- 如果此时已没有新的bug,即已完成测试,坐等上线 =》仍然在master上开发,打tag来区分本次上线内容及下个迭代内容;
- 如果此时还有新的bug,即还未完成测试,时不时要拉条bug分支出来修bug =》仍然在master上开发,使用toggle的方式控制上线内容,toggle开,仅展示本次上线代码,toggle关,最新代码(含下迭代功能代码);
- 线上出现bug,拉条hotfix分支进行修复,再 git cherry pick +commit id将代码提交到master分支。
当前项目的分支管理
- master分支进行开发;
- 部署master分支代码至qa环境迭代内测试,uat环境进行uat测试,同时开发进行中;
- 完成本次上线开发内容,拉release分支,部署到UAT环境进行回归测试(部署前修改CI/CD);
- 回归测试发现的缺陷同步给开发并定级:P0>P1>P2;
- 缺陷修复代码推至release分支;
- 上线。
网友评论