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  创建时间:2022-11-03 22:20
最后编辑:Jeebiz  更新时间:2024-08-04 15:41