git版本管理办法
一、版本分支描述及使用方法
- master 分支(主分支) 稳定版本
- 因技术经理没有操作权限,暂不使用。
- 整个项目只有一个分支。
- online 分支(在线分支) 稳定版本
- master分支的替代分支。
- 整个项目只有一个分支。
- 为了维护良好的生产环境发布历史记录,请及时打发布历史tag。
- develop 分支(单分支模式)
- 单分支模式下研发人员开发分支。
- 适合项目比较简单或版本比较稳定情况。
- 整个项目只有一个分支。
- 不能与feature分支方式同时使用。
- 命名规范:固定值develop 。
- feature 分支(特性分支/多分支模式) 实现新特性
- 多分支模式下研发人员开发分支
- 适合项目多个分支并行开发情况。
- 整个项目可能同时存在多个分支。
- 不能与develop分支方式同时使用。
- 命名规范:f-分支创建日期-新特性关键字,例如:f-20190101-qiancheng。
- 使用方法:每个新需求或新的研究创建一个feature分支。
- release 分支(测试分支/发布分支) 发布新版本
- 测试版本/待发布版本。
- 流程:
- 确认要发布的feature 分支上的功能是否开发完毕并提交。
- 创建release 分支(发布分支),将所有要发布的分支逐个合并到release分支,有如下情况:
①.feature分支(可能有多个)
②.online分支(期间可能有其他release版本或hotfix版本更新到了online)。
- 命名规则:r-分支创建日期-新特性和待发布版本号,例如:r-201909090101-qiancheng-v1.0.0;
①.版本可根据需要添加
②.时间最好精确到分
- 删除本次发布的所有feature分支。
- 发布到测试环境,通知测试。
- bug分支测试bug修复分支
- 从release版本拉取的bug修改分支。
- bug分支的多少由技术经理灵活把控。
- 命名规则:
①.只有一个bug分支:b-对应release分支名,如b-201901010101-qiancheng-v1.0.0
②.多个bug分支: b-对应release分支名-bug单号,b-201901010101-qiancheng-v1.0.0-200
- hotfix 分支(热修复分支) 修复线上bug
- 线上问题热修复分支。
- 流程:
- 从online分支某个tag上创建一个hotfix 分支(热修复分支),一般是最新的tag应该和当前生产环境对应;
- 命名规则:h-分支创建日期-bug名称和待发布版本号,例如:h-201901010101-还款异常v1.0.1;
- 开发人员完成Bug 修复,提交hotfix分支到测试环境验收通过;
- 再次发布正式环境流程;
- 将hotfix 分支合并到online分支;
- 在online分支上创建标签,命名规则:tag-日期-新特性和版本号,例如:tag-201901010101-还款异常v1.0.0,版本可根据需要添加,作为发版里程碑标记;
- 删除hotfix 分支;
二、单开发分支模式
1.研发阶段:
研发人员在develop分支开发新功能;
2.测试阶段
- 研发人员将develop分支和online分支代码同步至release分支;
- 测试人员测试release分支,提交问题单;
- 研发人员根据问题从release分支拉取bug分支,bug分支个数和命名规范参考bug分支描述
- 研发人员修改完bug后,将bug分支代码提交至release分支;
- 研发人员删除bug分支;
- 重复2-5步操作,直至测试阶段完成
3.预发布阶段
1.备份环节
技术经理备份预发布环境代码、数据、配置项等;
2.验收环节
- 技术经理执行数据库升级脚本,修改配置项,将release分支代码发布至预发布环境;
- 测试人员,验收人员验收release版本问题,提交问题单;
- 研发人员根据问题从release分支拉取bug分支,bug分支个数和命名规范参考bug分支描述
- 研发人员修改完bug后,将bug分支代码提交至release分支;
- 研发人员删除bug分支;
- 技术经理与测试经理根据需要重复验收环节
4.发布阶段
1.备份环节
技术经理备份生产环境代码、数据、配置项等;
2.验收环节
参考预发布环境验收环节。
3.归档环节
- 技术经理将release分支合并至online分支;
- 技术经理在online分支打tag标签
- 技术经理将数据库升级脚本、配置修改项、升级小节等文档归档;
三、多分支模式
1.研发阶段:
- 技术经理根据需要从online的tag标签拉取feature分支供研发人员开发新功能,
feature分支命名规范见feature描述。
- 研发人员在feature分支开发新功能。
2.测试阶段
- 研发人员将需测试feature分支和online分支代码同步至release分支;
- 测试人员测试release分支,提交问题单;
- 研发人员根据问题从release分支拉取bug分支,bug分支个数和命名规范参考bug分支描述
- 研发人员修改完bug后,将bug分支代码提交至release分支;
- 研发人员删除bug分支;
- 重复2-5步操作,直至测试阶段完成。
注:release分支可能同时存在多个。
3.预发布阶段
参考单开发分支模式。
4.发布阶段
参考单开发分支模式。