代码版本管理规范
说明:本文于2019年9月22日整理。
1.1 管理工具
服务端:GitLab
客户端:Git、TortoiseGit
1.2 工作流程
Clone:将项目分支克隆到本地进行管理、开发;
Commit:提交修改到本地仓库,按规范填写注释;
Pull:拉取服务端代码,如有冲突应解决;
Push:推送本地修改到服务器;
Merge:主程序员合并代码到目标分支。
1.3 提交规范
1.每日上班开始Pull,获取其他同事提交的最新代码,下班前将当日代码Push到服务器。
2.开发过程中有阶段进展应Commit,方便出问题时回滚。
3.Commit 注释应简要描述修改的内容,不要随意填写。
提交代码写注释时关联任务格式的:任务序号+空格+注释,如:RM5-307 新增网关新增接口
1.4 分支管理
1.4.1 分支简要介绍
master 主分支(长期维护),用于部署生产环境,确保稳定性。
develop 开发分支(长期维护),始终保持最新完成以及bug修复后的代码。
hotfix 热修复分支(短期、临时,合并后删除),用于修复已上线版本的bug。
feature 特性分支(短期,完成合并后删除),用户开发新的功能。
1.4.2 分支管理方案
master 分支(长期)
master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性。
master 仅允许主程序员从develop、hotfix分支合并代码,不允许任何人推送代码。
实践方案建议:每次发布生产(master),需要为master打一个tag,方便线上回滚。
develop 分支(长期)
develop 为开发分支,始终保持最新完成以及bug修复后的代码。
develop 仅允许主程序员从feature、hotfix分支合并代码,仅允许主程序员推送代码。
开发的新功能时,feature分支都基于develop分支下创建。
hotfix 分支(短期)
hotfix 为修复分支,线上出现紧急问题时需要修复时,创建hotfix分支进行修复。
hotfix 以master分支为基线创建。修复完成后,需要合并到master分支和develop分支。
分支命名: hotfix-开头,如hotfix-xxx。
feature 分支(短期)
feature 为特性分支,它被用来实现单一特性或其相关工作。开发新功能时以develop为基础创建。
feature 分支做完后,合并回develop分支。 特性分支是一种短期分支, 合并完分支后一般会删除。
分支命名: feature- 开头,如: feature-gateway、 feature-alert。
release 分支(短期)
release 为预上线分支,发布提测阶段以develop分为基础创建。
如果测试过程中存在bug,则有开发者直接在release分支修复。
测试完成后,合并release到master和develop分支,此时master为最新代码,用作上线。
参考博文:
https://blog.csdn.net/freeknightlcw/article/details/75669545
https://blog.csdn.net/sdmxdzb/article/details/81462631
https://www.cnblogs.com/tonyq/p/7596006.html