代码版本管理规范

作者:陆金龙    发表时间:2023-07-01 09:57   

关键词:  

说明:本文于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