GitLab分支管理说明
仓库分支说明
主分支 master
所有用户可见的正式版本,都从master发布。主分支作为稳定的唯一代码库,不做任何开发使用。
拉取源:无需。
合并目标:无需。
修改:不允许。
生命期:持续。
开发分支 develop
分支维护了当前开发中代码的主线,始终保持代码新于master。持续集成、自动化测试等都是基于这个分支。由于版本迭代较快,开发分支只提供拉取,不进行实际开发。
拉取源:初始自master。
合并目标:master。
修改:允许
生命期:持续。
预发布(功能测试)分支 pre-release-version
用于发布准备版本,从master拉取,测试完成转为release。如果测试失败,发布相关need-fix-bug,废弃该分支。
拉取源:master。
合并目标:无需。
修改:不允许。
生命期:测试通过转发布,失败删除。
发布分支 release-version-yyyymmdd
用于与线上发布保持一致,用于线上BUG类问题快速定位;BUG修正需从develop拉取,修正后合并至develop和master。
拉取源:master。
合并目标:无。
修改:不允许。
生命期:持续。
开发人员分支说明
镜像分支 develop :
pull自仓库develop分支,用于创建本地开发分支、合并本地开发分支、push至远程仓库
拉取源:远程仓库develop。
合并目标:远程仓库develop。
修改:允许。
生命期:持续。
临时/特性/bug修正 分支
从本地镜像develop拉取。开发功能特性/bugfix后,merge回本地develop,再推至远程仓库。
拉取源:develop。
合并目标:develop。
修改:允许。
生命期:合并后删除。
场景流程
功能开发
- 多从仓库拉代码
- push记得request
- 临时分支多创建
- 用完切回develop
版本发布
- 发布版本从主(master)库
- 留下线上同步库,方便定位加速度
参考文档:
git分支及发布管理方式 https://www.cnblogs.com/charlesblc/p/6051569.html
一个经过实践的git分支模型 https://nvie.com/posts/a-successful-git-branching-model/