0.概览
-
以下是常用的分支和环境的搭配,可视情况而定不同的策略
分支 名称 适用环境 master
主分支 生产环境 release
预发布分支 预发布/测试环境 develop
开发分支 开发环境 feature
需求开发分支 本地 hotfix
紧急修复分支 本地 -
以下介绍的模型,是企业级常用的一种Git分支设计规范:Git Flow模型
1.master
分支
master
为主分⽀,该分⽀为只读且唯⼀分⽀- ⽤于部署到正式发布环境,⼀般由合并
release
分⽀得到
- ⽤于部署到正式发布环境,⼀般由合并
- 主分⽀作为稳定的唯⼀代码库,任何情况下不允许直接在
master
分⽀上修改代码 - 产品的功能全部实现后,最终在
master
分⽀对外发布- 所有在
master
分⽀的推送应该打标签 (tag
)做记录,⽅便追溯
- 所有在
master
分⽀不可删除
2.release
分支
release
为预发布分⽀,基于本次上线所有的feature
分⽀合并到develop
分⽀之后,基develop
分⽀创建,可以部署到测试或预发布集群- 命名以
release/
开头,建议的命名规则:release/version_publishtime
release
分⽀主要⽤于提交给测试⼈员进⾏功能测试,发布提测阶段,会以release
为基准进⾏提测- 如果在
release
分⽀测试出问题,需要回归验证develop
分支是否存在此问题 release
分⽀属于临时分⽀,产品上线后可选删除
3.develop
分支
develop
为开发分⽀,基于master
分⽀创建的只读且唯⼀分⽀- 始终保持最新完成以及bug修复后的代码,可部署到开发环境对应集群
- 可根据需求⼤⼩程度确定是由
feature
分⽀合并,还是直接在上⾯开发(⾮常不建议)
4.feature
分支
feature
分⽀通常为新功能或新特性开发分⽀,以develop
分支为基础创建feature
分支- 命名以
feature/
开头,建议的命名规则:feature/user_createtime_feature
- 新特性或新功能开发完成后,开发⼈员需合到
develop
分⽀ - ⼀旦该需求发布上线,便将其删除
5.hotfix
分支
hotfix
分⽀为线上bug修复分⽀或叫补丁分⽀,主要⽤于对线上的版本进⾏bug修复- 当线上出现紧急问题需要⻢上修复时,需要基于
master
分⽀创建hotfix
分⽀
- 当线上出现紧急问题需要⻢上修复时,需要基于
- 命名以
hotfix/
开头,建议的命名规则:hotfix/user_createtime_hotfix
- 当问题修复完成后,需要合并到
master
分⽀和develop
分⽀并推送远程- ⼀旦修复上线,便将其删除