赞
踩
1、 分支管理组成
1.1、 master主干
1.2、 develop主开发分支
1.3、 feature功能开发分支
1.4、 test测试分支
1.5、 hotfix紧急bug分支
2、 分支使用流程
2.1、开发关联需求
2.2、开发独立需求
2.3、修复生产bug
3、 注意事项
在版本管理中,代码库应该仅有一个主干。此主干是和当前生产保持一致的,是可用的、稳定的可直接发布的版本,不能再主干上进行任何开发操作。git主干的名字,默认叫做 master,它是自动建立的。
因为不能在主干master上进行开发,那么就需要在基于主干master的基础上,创建一个开发主分支develop,开发主分支develop的代码永远是最新的,所有的新功能都是以此分支为基础进行开发的,该分支只是做合并操作,也不能在此分支进行实际开发。
功能开发分支,在develop上创建分支,采用“feature-” +“分支创建时间”+ “批次名称-”的命名规范。
例如:“feature-20190301-XXX”
此分支既作为需求开发分支又作为需求测试分支,所有需上线内容需在当前分支充分测试通过后,才可提交test分支与其他待上线分支代码进行合并,然后进行test分支回归测试。
test分支它是指发布正式版本之前(即合并到 master分支之前),我们需要有一个预发布的版本进行测试。
预发布分支是从develop分支上面分出来的,预发布部署生产验证无误,结束以后,必须向下合并进 master和develop分支以及develop衍生所有开发分支,保证各分支基线版本与生产基线同步。
项目上线后会遇到一些需要紧急修复的bug,那么就需要创建一个紧急bug修改分支,此分支需要从master直接拉取分支进行开发修改,修复完成后必须向下合并进 master和develop分支以及develop衍生所有分支,保证各分支基线版本与生产基线同步。
采用
“hotfix-” +“分支创建时间”+“bug号或bug描述”的命名规范。
例如:“hotfix-20190116-001”
具体使用步骤如下:
关联需求:A和B同时开发一个需求内容,A所开发的内容有部分是基于B开发的内容。
上图为关联需求的开发及测试流程图,以下为每个节点的介绍:
① 从master主干的基础上拉取develop分支作为开发分支
② 从develop分支的基础上拉取test分支作为测试分支
③ 从develop分支的基础上拉取feature分支作为开发分支
④ 在feature开发分支进行需求的开发
⑤ 将并行的需求feature分支单独测试,然后合并到test测试分支进行上线测试操作
上图为关联需求的上线前后流程图,以下为每个节点的介绍:
① 在test分支测试通过
② 将feature2的开发分支合并到feature1的开发分支中
③ 将合并后的feature1分支的内容合并到test分支回归测试
④ test分支回归测试完成,用master分支合并test分支上线
⑤ 将master分支向下合并到develop分支及其他正在开发中分支
下图为关联需求分支的整体流程图:
独立需求:A和B同时开发两个完全不相关的需求内容。
上图为独立需求的完整流程图,以下为每个节点的介绍:
① 从master主干的基础上拉取develop分支作为开发分支
② 从develop分支的基础上拉取test分支作为测试分支
③ 从develop分支的基础上拉取feature分支作为开发分支
④ 在feature开发分支进行需求的开发
⑤ 对feature分支的内容进行测试
⑥ feature1分支测试通过后,将合并后的feature1分支的内容合并到test分支进行预上线测试
⑦ 测试通过后,将test分支合并到master主干上线
⑧ 将master主干合并到develop分支中,保持master主干和develop分支内容一致
⑨ 将develop分支合并到feature2中,保证feature2分支已经包含已上线的feature1内容
① 在master主干根据命名规范创建hotfix分支
② hotfix分支内容修改并测试
③ hotfix分支测试通过后合并master主干上线
④ 将master主干的内容合并到develop和test分支,保证develop分支内容与主干分支同步,从而保证与生产环境同步
⑤ 将develop分支内容合并到test分支,保证test分支与主干同步
⑥ 将test分支的内容合并到feature分支,保证feature包含hotfix分的内容
⑦ feature分支继续开发
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。