一般項目上的分支管理:
- 使用master分支進行開發(fā);
- 上了SIT后,基本不再提交開發(fā)代碼至master,部署SIT或UAT環(huán)境;
- 拉bugfix分支修復(fù)SIT/UAT階段發(fā)現(xiàn)的bug,修復(fù)后merge入master,再次部署環(huán)境回歸;
- 若SIT階段還在同時開發(fā)下一迭代功能:
- 如果此時已沒有新的bug,即已完成測試,坐等上線 =》仍然在master上開發(fā),打tag來區(qū)分本次上線內(nèi)容及下個迭代內(nèi)容;
- 如果此時還有新的bug,即還未完成測試,時不時要拉條bug分支出來修bug =》仍然在master上開發(fā),使用toggle的方式控制上線內(nèi)容,toggle開,僅展示本次上線代碼,toggle關(guān),最新代碼(含下迭代功能代碼);
- 線上出現(xiàn)bug,拉條hotfix分支進行修復(fù),再 git cherry pick +commit id將代碼提交到master分支。
當(dāng)前項目的分支管理
- master分支進行開發(fā);
- 部署master分支代碼至qa環(huán)境迭代內(nèi)測試,uat環(huán)境進行uat測試,同時開發(fā)進行中;
- 完成本次上線開發(fā)內(nèi)容,拉release分支,部署到UAT環(huán)境進行回歸測試(部署前修改CI/CD);
- 回歸測試發(fā)現(xiàn)的缺陷同步給開發(fā)并定級:P0>P1>P2;
- 缺陷修復(fù)代碼推至release分支;
- 上線。