主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

Git Flow

在前面章节提到了 Git 支持分支功能。但灵活的分支导致随意创建分支、随意命名、随意合并,项目很快会变成“分支地狱”。于是,Git Flow 针对团队协作和复杂项目需求,提出的一套标准化分支管理策略。

本文将详细介绍 Git Flow 的核心概念,包括其分支结构、工作流程、安装 Git Flow及常用命令。


Git Flow 的分支结构

1. 主分支(Main Branches)

mainmaster

  • 用途:始终包含生产环境的稳定代码。
  • 特点:代码通过 发布分支(release branches)修复分支(hotfix branches)合并到此分支。
  • 保护:通常设置为受保护分支,防止直接提交。

develop

  • 用途:包含即将发布的功能代码,是下一个版本的集成分支。
  • 特点:代码通过 功能分支(feature branches)合并到此分支。
  • 保护:开发人员不能直接提交到此分支,只能通过合并请求(Pull Requests 或 Merge Requests)将功能分支合并到develop

2. 支撑分支(Supporting Branches)

feature

  • 用途:用于开发新功能。
  • 起始点:从develop分支创建。
  • 操作:开发完成后,通过合并请求合并到develop
  • 命名规范:通常以feature/开头,如feature/user-management

release

  • 用途:用于准备新版本的代码,进行最终的测试和修复。
  • 起始点:从develop分支创建。
  • 操作:在版本发布时,合并到maindevelop分支。
  • 命名规范:通常以release/开头,如release/v1.0.0

hotfix

  • 用途:用于修复生产环境中的紧急问题。
  • 起始点:从main分支创建。
  • 操作:修复完成后,合并到maindevelop分支。
  • 命名规范:通常以hotfix/开头,如hotfix/login-issue

Git Flow 的工作流程

1. 初始化 Git Flow

✅ 在项目开始时,初始化 Git Flow 工作流:

git flow init
  • 根据提示设置项目的分支前缀等配置。

2. 功能开发(Feature Development)

✅ 创建功能分支:

git flow feature start <feature-name>

✅ 开发功能:

进行代码开发和测试。

✅ 完成功能分支:

git flow feature finish <feature-name>
  • 此命令会将功能分支合并到develop分支,并删除功能分支。

3. 发布版本(Release)

✅ 创建发布分支:

git flow release start <release-version>

✅ 准备发布:

进行最终的测试和修复。

✅ 完成发布分支:

git flow release finish <release-version>
  • 此命令会将发布分支合并到 main 和 develop 分支,并打标签(tag),标记版本。

4. 紧急修复(Hotfix)

✅ 创建修复分支:

git flow hotfix start <hotfix-name>

✅ 修复问题:

进行修复代码的开发和测试。

✅ 完成修复分支:

git flow hotfix finish <hotfix-name>
  • 此命令会将修复分支合并到maindevelop分支,并打标签。

安装 Git Flow

1. 在 Linux 上安装:

sudo apt-get install git-flow

2. 在 macOS 上安装:

brew install git-flow

3. 在 Windows 上安装:

可以通过Git ExtensionsGit for Windows安装。


Git Flow 的优势

优势 说明
清晰的分支结构 明确区分不同类型的分支,便于团队成员理解和协作
明确的发布流程 通过发布分支来准备和测试新版本,确保发布的稳定性
紧急修复支持 提供专门的流程来处理生产环境中的紧急问题
代码质量保障 通过合并请求进行代码审查,提高代码质量

Git Flow 常用命令

操作 命令
初始化 Git Flow git flow init
创建功能分支 git flow feature start <feature-name>
完成功能分支 git flow feature finish <feature-name>
创建发布分支 git flow release start <release-version>
完成发布分支 git flow release finish <release-version>
创建修复分支 git flow hotfix start <hotfix-name>
完成修复分支 git flow hotfix finish <hotfix-name>

Git Flow 工作流为团队提供了一套标准化的版本控制规范,通过其清晰的分支管理策略,能够显著提升开发协作效率并保障代码质量。



评论区 0
发表评论