Git工作流图解

清夏晚风

主流Git工作流对比

集中式工作流

1
2
3
4
5
graph LR
A[中央仓库] --> B[开发者A]
A --> C[开发者B]
B -->|push/pull| A
C -->|push/pull| A

适用场景:小型团队/简单项目

功能分支工作流

1
2
3
4
5
graph TD
main((main)) --> feature1[feature/login]
main --> feature2[feature/payment]
feature1 -->|合并| main
feature2 -->|合并| main

核心规则

  1. 每个新功能创建独立分支
  2. 通过Pull Request合并
  3. 分支命名规范:feature/功能名称

Gitflow工作流

1
2
3
4
5
6
7
8
graph TD
main((main)) --> hotfix[hotfix/]
main --> release[release/]
develop((develop)) --> feature[feature/]
develop --> release
release --> main
hotfix --> main
hotfix --> develop

分支类型

  • main: 生产环境代码
  • develop: 集成开发分支
  • feature/*: 功能开发分支
  • release/*: 版本预发布分支
  • hotfix/*: 紧急修复分支

Forking工作流

1
2
3
4
5
6
7
graph LR
O[官方仓库] --> A[开发者A的Fork]
O --> B[开发者B的Fork]
A -->|Pull Request| O
B -->|Pull Request| O
A -->|同步上游| O
B -->|同步上游| O

开源协作流程

  1. Fork官方仓库
  2. 克隆个人副本
  3. 创建功能分支开发
  4. 推送至个人仓库
  5. 发起Pull Request

工作流选择指南

1
2
3
4
5
6
7
graph TD
A[项目类型] --> B{成员数量?}
B -->|1-3人| C[集中式]
B -->|3-10人| D{需要代码审查?}
D -->|是| E[功能分支]
D -->|否| F[Gitflow]
A -->|开源项目| G[Forking]

Gitflow 详细时序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sequenceDiagram
participant M as main
participant D as develop
participant F as feature
participant R as release
participant H as hotfix

D->>F: git checkout -b feature/new
F->>D: 开发完成合并
D->>R: git flow release start 1.2.0
R->>M: 测试通过后合并
M->>H: 生产环境问题
H->>M: git flow hotfix start
H->>D: 合并修复

代码提交规范示例

1
2
3
4
5
6
7
8
# 提交类型
feat: 新功能
fix: 错误修复
docs: 文档更新
style: 代码格式
refactor:重构代码
test: 测试用例
chore: 构建配置

企业级PR流程

1
2
3
4
5
6
7
8
9
graph TB
A[创建功能分支] --> B[开发提交]
B --> C{通过CI?}
C -->|是| D[创建PR]
C -->|否| E[本地修复]
D --> F[代码审查]
F --> G{需要修改?}
G -->|是| H[补充提交]
G -->|否| I[合并到主分支]

2025年新增最佳实践

根据Git最新工作流指南

微服务仓库策略

1
2
3
4
5
6
7
graph TD
A[Monorepo] --> B{模块独立性?}
B -->|高| C[Polyrepo]
B -->|低| D[Monorepo+子模块]

C --> E[独立版本控制]
D --> F[统一依赖管理]

安全协作流程

1
2
3
4
5
6
sequenceDiagram
Developer->>+CI Server: 推送代码
CI Server->>+Security Scan: 触发扫描
Security Scan-->>-CI Server: 漏洞报告
CI Server->>+GitLab: 阻断合并
GitLab-->>-Developer: 修复通知
  • Title: Git工作流图解
  • Author: 清夏晚风
  • Created at : 2026-01-13 16:48:23
  • Updated at : 2026-01-13 16:48:23
  • Link: https://blog.kimikkorow.eu.org/版本控制管理/Git/Git工作流图解/
  • License: This work is licensed under CC BY-NC-SA 4.0.