关于Git Flow

Git Flow(也叫Gitflow)是一套结构化的Git分支管理工作流‌,最早由Vincent Driessen提出推广,核心为不同分支赋予明确角色,规范了代码开发、发布和修复的完整流程,非常适合有固定发布周期的大型项目使用。

核心分支体系

Git Flow 将分支分为两类:‌两个永久主分支‌ + 多个临时辅助分支,分工清晰互不干扰:

表格

分支类型 作用说明 分支规则

master(主分支) 永久存在,始终保存‌生产环境可发布的稳定代码‌ 禁止直接提交修改,所有更新都来自其他分支合并,每次发布需要打上对应版本标签

develop(开发分支) 永久存在,是功能开发的集成分支,始终包含下一个待发布版本的全部功能 接收功能分支、热修复分支的合并,作为日常开发的主干

feature/xxx(功能分支) 临时分支,用于开发新功能 从develop分支分出,开发完成后合并回develop分支,合并后可删除,禁止直接与master交互

release/xxx(发布分支) 临时分支,用于版本发布前的准备 积累足够功能后,从develop分出,仅修复发布前发现的Bug,不再新增功能;测试完成后同时合并到master和develop,完成发布后可删除

hotfix/xxx(热修复分支) 临时分支,用于快速修复线上生产环境的紧急Bug 唯一直接从master分出的辅助分支,修复完成后同时合并回master和develop,并在master打新版本标签,修复完成后可删除

完整工作流程

项目初始阶段,从master分出develop作为日常开发主干;

开发新功能:从develop切出feature分支,开发完成后合并回develop;

准备发布:从develop切出release分支,进行最终测试和Bug修复;

正式上线:将release分支合并到master打版本标签,同时同步更新develop;

紧急修复线上问题:从master切出hotfix分支,修复完成后合并回master和develop,重新打标签。

适用场景与优缺点

Git Flow结构严谨,角色清晰,能让团队多人协作开发变得更有序,但分支操作更复杂,更适合:

有固定发布周期的传统项目‌:例如大型客户端软件、需要多版本维护的项目

规模较大、协作人数多的团队‌:流程规范能降低沟通协作成本

它不适合持续交付、小版本快速迭代的互联网项目,这类场景更推荐轻量的GitHub Flow。

相关推荐
全栈陈序员2 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
7177772 天前
Git自建用什么工具比较好:Gitea、Forgejo、GitLab CE与Gitee的选型对比
git·gitlab·gitea
lsc_blog3 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
全栈陈序员3 天前
【Git】从入门到精通(十一)—— git reset 三种模式详解
git·elasticsearch
全栈陈序员3 天前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git
全栈陈序员3 天前
【Git】从入门到精通(五)—— git add:将文件加入暂存区
大数据·git·elasticsearch
全栈陈序员3 天前
【Git】从入门到精通(七)—— git status:查看仓库状态
大数据·git·elasticsearch
莫晓燚4 天前
Ansible 13 个常用模块---企业实战
git·github
无言听风雨丶4 天前
Kubernetes GitOps 持续交付实战:用 Argo CD 让 Git 成为集群事实源
git·elasticsearch·kubernetes
全栈陈序员4 天前
【Git】从入门到精通(六)—— git commit:提交到版本库
大数据·git·elasticsearch