Gitflow + 分支规范
Gitflow + 分支规范 是基于 Gitflow 分支规范 增加分支以及合并方向的自定义分支规范!通过该规范,我们可以实现同一套程序代码在不同项目中的分支。
支持 master、develop、feature/、 release/、hotfix/* 分支
增加 test、-master、-test、*-dev 分支
分支类型
分支类型 | 分支名匹配规则 | 描述 | 环境 |
---|---|---|---|
主干分支 | [主干分支] | 与仓库设置 > 分支设置中的默认分支保持一致。 | 无 |
开发分支 | develop | 平时开发用的主分支,永远是功能最全最新 | DEV |
测试分支 | test | 平时测试用的主分支,永远是已提测的功能分支 | TEST |
功能分支 | feature/* | 一般一个事项卡对应一个功能分支 | DEV |
发布分支 | release/* | 一般一次新版本的发布对应一个发布分支 | PRE、PROD |
热修复分支 | hotfix/* | 从主干分支拉出,用于线上版本的 Bug 修复 | DEV |
项目主干分支 | *-master | 不同项目的主干分支 | 无 |
项目测试分支 | *-test | 不同项目的测试分支 | TEST |
项目开发分支 | *-dev | 不同项目的开发分支 | DEV |
主干分支
master
、*-master
为主干分支,不适用于任何环境,主要用于保持最新代码版本,一般由 release/*
或 hotfix
分支合并,任何情况下不允许直接在 master 分支上修改代码。
开发分支
develop
、*-dev
为需求开发合并分支,用于部署到开发环境(DEV),用于合并多个开发人员的分支,将包含最新的代码,但是也是未经测试的版本,可能存在的bug会比较多。
测试分支
test
、*-test
为测试分支,用于部署到测试环境(TEST),始终保持最新已提测以及 bug 修复后的代码,一定是满足测试的代码才能往上面合并或提交。
功能分支
feature/*
为需求开发分支,用于需求的版本迭代,一旦该需求上线,便将其删除。
发布分支
release/*
为发布分支,用于部署到预发环境(PRE)和正式环境(PROD),始终保持与 主干分支(master、*-master)
分支一致,一般由 功能分支(feature/*)
或 热修复分支(hotfix/*)
分支合并,不允许在发布分支上直接修改代码。
如果在
发布分支(release/*)
分支测试出问题,需要回归验证测试分支(test、*-test)
分支看否存在此问题。
热修复分支
hotfix/*
为紧急修复分支,命名规则为 hotfix
开头。
当线上出现紧急问题需要马上修复时,需要基于
release/*
或master
分支创建hotfix
分支,修复完成后,再合并到发布分支(release/*)
、主干分支(master、*-master)
、开发分支(develop、*-dev)
,一旦修复上线,便将其删除。
合并方向
规范仓库分支间的合并方向,只允许创建列表中规定方向的合并请求,列表为空则不会对仓库中的合并请求方向做限制。
源分支 | 目标分支 | 图示 |
---|---|---|
功能分支 | 开发分支 | feature/* -> develop |
功能分支 | 测试分支 | feature/* -> test |
功能分支 | 发布分支 | feature/* -> release/* |
功能分支 | 项目开发分支 | feature/* -> *-dev |
功能分支 | 项目测试分支 | feature/* -> *-test |
热修复分支 | 开发分支 | hotfix/* -> develop |
热修复分支 | 测试分支 | hotfix/* -> test |
热修复分支 | 发布分支 | hotfix/* -> release/* |
热修复分支 | 主干分支 | hotfix/* -> [主干分支] |
热修复分支 | 项目主干分支 | hotfix/* -> *-master |
热修复分支 | 项目测试分支 | hotfix/* -> *-test |
热修复分支 | 项目开发分支 | hotfix/* -> *-dev |
发布分支 | 主干分支 | release/* -> [主干分支] |
发布分支 | 项目主干分支 | release/* -> *-master |
最后编辑:Jeebiz 更新时间:2024-11-14 21:58