GitFlow
Git Flow
gitflow 是最早第一个提出的 git 工作流。虽然完备,但对于现在敏捷 持续集成分支构建。过于复杂。
适用于内部开发大中型项目。不适合微服务项目
分支类型
GitFlow常用到的分支
分支名 | 说明 | 命名方式 |
---|---|---|
master | 发布分支 | master/main |
devleop | 开发分支 | develop |
feature | 功能分支 | feature/{功能名} |
bugfix/patch | 修复分支 | bugfix/{tagName} |
hotfix | 紧急修复分支(优先级最高) | hotfix/{tagName} |
release | 发布前的准备工作(代码审核、测试、合并) | release/x.x.x 或 release-版本名 |
已废弃但仍存在项目的分支
分支名 | 说明 | |
---|---|---|
support | 维护分支 | support/x.x.x |
保留分支
- master:针对master的每次提交,都要迭代更新 tag 即里程碑
- develop: 用于开发,中小项目 可直接在 develop 分支开发。
可选分支
- feature:用于同时开发多个不同功能。新建的功能分支必须是描述性的名字,以便于别的开发人员查找和理解。
- release:用于发布测试,名字基本上是release-tag号。
- hotfix:用于修复紧急bug
- patch/bugfix:用于修复功能缺陷
工作流程
- 基本流程
master -> develop -> master
master -> develop -> featrue -> develop -> master
- 标准流程
master -> develop -> featrue -> develop -> release -> master
- bug流程
master -> hotfix -> develop -> master