分支管理注意事项
希望通过下面的一些问题+解答,能对大家管理一个站点的分支有帮助。
相关概念准备:
文章开始之前,对相关概念做个统一:
- 主干分支:master分支
- 日常测试分支:test分支
正文:
新任务拉分支的时候有哪些情况,对应的方案是?
- 新任务类型?
- 如果是紧急修复hotfix任务(一般当天或者下个发布日发布),则看以下情况(ps: 提测时使用hotfix分支发布各个环节,但是需要记得把hotfix分支合并到test分支):
- master分支是否包含产线最新的代码:
- 是,从master分支拉取,分支命名:hotfix_20191209(拉取分支当天的日期)
- 否:
- 联系配管将之前发布的代码tag合并到master,合并后拉取hotfix分支;
- 或者 自己基于之前拉好的“和产线分支代码一致的分支”新拉hotfix分支;
- master分支是否包含产线最新的代码:
- 常规开发任务:
- 任务上线时间确定为dateA:
- test分支上不包含dateA之后才能上线的代码:基于test分支拉取新分支feature/;
- test分支上包含dateA之后才能上线的代码:拉取分支原则参考hotfix任务;
- 任务上线时间不确定:
- 拉取分支原则参考hotfix任务;
- 任务上线时间确定为dateA:
- 如果是紧急修复hotfix任务(一般当天或者下个发布日发布),则看以下情况(ps: 提测时使用hotfix分支发布各个环节,但是需要记得把hotfix分支合并到test分支):
- 新任务类型?
提测前合并分支需要考虑哪些情况&对应的方案?(其中需要考虑同一站点,多版本同时提测)
此任务上线日期dateA是否确定?
确定
- dateA发布时,test分支上的东西都能被一起带上产线?
- 能,则代码直接合并test分支,后续一路上uat、产线都用test分支发布;
- 不能,检查master分支是否和产线环境代码保持一致?
- 不一致:
- 让配管将上次发布的代码合并到master分支;
- 或者 站点管理员基于纯净的test分支(和产线环境代码保持一致),拉取一个test_20191209(拉取分支当天的日期)分支,作为备用分支;
- 一致:
- 测试环境(特指sit环境)都合并test分支发布,集成测试;
- 需要上uat时,将开发分支合并到“和产线代码一致的分支”上(或者下一个发布日需要发布的分支):
- master分支拉出来的分支,release_20191209(不是上uat当天的日期,而是任务发布日期);
- 或者当时作为备用的纯净分支(test_20191209);
- 不一致:
- dateA发布时,test分支上的东西都能被一起带上产线?
不确定,检查有无纯净分支(和产线环境代码保持一致的分支)
- 有:
- 测试环境(特指sit环境)都合并test分支发布,集成测试;
- 需要上uat时,将开发分支合并到“和产线代码一致的分支”上(或者下一个发布日需要发布的分支):
- master分支拉出来的分支,release_20191209(不是上uat当天的日期,而是任务发布日期);
- 或者当时作为备用的纯净分支(test_20191209);
- 无:
- 确保有一个纯净分支:
- 让配管将上次发布的代码合并到master分支;
- 或者 站点管理员基于纯净的test分支(和产线环境代码保持一致),拉取一个test_20191209(拉取分支当天的日期)分支,作为备用分支;
- 后续操作通上面的情况“有”
- 确保有一个纯净分支:
- 有: