关于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。

相关推荐
catoop11 小时前
用 Shell 包装函数,让单个命令拥有专属配置
git
Zguigo13 小时前
学会更高效的理解AI的输出?
人工智能·git·ai
鬼手点金17 小时前
上下文:Agent 的眼睛
java·前端·人工智能·git·深度学习
guohuang19 小时前
让机器人安全失败:点云中断、TF 超时和控制器崩溃怎么测
git·安全·机器人
小道士写程序20 小时前
Git 大文件问题解决办法
git
黑泽明Coding20 小时前
如何重置git分支,清空分支所有提交历史
git
小堃学编程21 小时前
Git远程开发操作指南
git
于眠牧北1 天前
雷电模拟器9/14搭配charles抓取自带浏览器接口9/14
经验分享·笔记·git
鬼手点金1 天前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
金融小师妹2 天前
多因子时间序列分析:美元与美债收益率变化对黄金价格+1.6%的影响
c语言·人工智能·git·决策树·pyqt