git使用规范
研发代码分支管理
概述
- develop:开发环境的稳定分支,公共开发环境基于该分支构建,用于开发阶段测试环境使用。
- release:测试环境的稳定分支,测试环境基于该分支构建,用于体验环境使用。
- master:生产环境的稳定分支,生产环境基于该分支构建,仅用来发布新版本。除了从release或生产环境Bug修复分支进行merge,不接受任何其它修改。
- 平时开发工作中,会根据需要由开发人员创建两类临时分支,临时分支在完成对应场景的功能后做好代码合并可以删除:
- 功能分支:feature-v1.1 或 feature-testbill
- bug修复分支:bugfix-dateformat
实际场景
通用场景
- develop分支只接受从自定义feature分支和bugfix分支进行合并
- release分支只接受从develop分支和bugfix分支进行合并
- master分支只接受从release分支和bugfix分支进行合并
- 暂存本地代码 git stash
开发新功能
- 所有新功能的开发都需要进行测试,因此只能基于develop分支开发
- 切换分支到develop
- 拉取最新develop代码
- 新建feature临时分支:git checkout -b feature-{功能名称}
- 提交代码
- 代码合并至develop分支
- 代码推送至远程develop分支
修改bug
开发环境修bug
- 切换分支到develop
- 拉取最新develop代码
- 修改完成后提交代码
- 推送至远程develop分支
体验环境修bug
- 切换分支到release
- 拉取最新release代码
- 新建修bug临时分支:git checkout -b bugfix-{功能名称}
- 修改完成后提交代码
- 代码合并
- 合并 bugfix-{功能名称} 分支到 release 分支
- 合并 bugfix-{功能名称} 分支到 develop 分支
- 代码推送至远程release分支
- 删除修bug临时分支(视个人情况)
生产环境修bug
- 切换分支到master
- 拉取最新master代码
- 新建修bug临时分支
- 修改完成后提交代码
- 代码合并
- 合并 bugfix-{功能名称} 分支到 master 分支
- 合并 bugfix-{功能名称} 分支到 release 分支
- 合并 bugfix-{功能名称} 分支到 develop 分支
- 代码推送至远程master分支
- 删除修bug临时分支(视个人情况)