目前team中的代码管理规范,分享一下
一、版本管理工具
git
二、分支说明
2.1 master分支
master属于生产稳定主分支,所有版本迭代上线后,代码变动最终都需要合并至主分支的代码中。主分支上的代码每次被更新,都应有对应的标签(TAG)。
2.2 feature分支
feature属于产品规划的版本分支,是多个dev分支小组的合集,由dev合并生成。是正常产品版本提测时的分支,供测试人员在测试环境测试。
命名风格:feature+产品版本号
命名举例:featureV2.1.0
2.3 dev分支
dev属于各开发人员的独立分支,从master拉取作为开发的基础版本。
命名风格:dev+开发人员缩写+开发内容简要
命名举例:dev_yq_分库分表、dev_whn_银联二三类、dev_wjl_日志优化
2.4 hotfix分支
hotfix属于线上BUG紧急修复的补丁版本,从master拉取作为开发的基础版本。是补丁修复版本提测时的分支,供测试人员在测试环境测试。
命名风格:hotfix+补丁日期
命名举例:hotfix-Patch20191002
三、开发上线流程
3.1 流程图
3.2 流程说明
1.开发人员根据各自的开发需求,从master拉取分支,独立开发
2.提测时,根据产品版本内容规划,将相应的dev分支合并,生成版本分支featureV2.1.0
3.测试人员测试正常版本featureV2.1.0
4.测试期间,遇到生产环境问题,需要紧急发版,从master拉取分支,修改相应的代码,
命名hotfix-Patch20191002,以hotfix-patch20191002提测发版
5.hotfix发版后,将代码合并入master,并在master打标记(TAG),删除hotfix分支
6.featureV2.1.0回归测试前,再一次将master合并入分支,做回归测试
7.featureV2.1.0测试完成后,以featureV2.1.0发版,发版完成后,将代码合并入master,并在master打标记(TAG),删除featureV2.1.0分支及涉及的dev分支