# Patch 管理

# 概述
Patch 管理功能帮助开发者生成、管理和应用 Git Patch 文件,支持批量操作和自动化工作流。
# 功能特性
# 1. Patch 列表管理
- 状态可视化:清晰显示已应用、待应用、冲突状态
- 进度追踪:显示应用进度条
- 批量操作:支持批量应用多个 Patch
# 2. Patch 生成
支持两种生成方式:
# 方式一:分支/Tag/Commit 范围
选择基准(起点)和目标(终点),自动生成差异 Patch。
# 方式二:选择 Commits
从提交历史中选择特定 Commits,支持多选。
# 3. Patch 应用
- 自动检测:应用前自动检查是否可以应用
- 冲突提示:如有冲突显示详细信息
- 自动提交:可选自动提交到 Git
# 生成 Patch
# 打开生成对话框
- 进入仓库详情页
- 点击 "Patch 管理" 标签
- 点击 "生成 Patch" 按钮
# 选择生成方式
# 方式一:范围模式
| 字段 | 说明 | 示例 |
|---|---|---|
| 基准(起点) | 分支、Tag 或 Commit | main, v1.0.0, abc123 |
| 目标(终点) | 分支、Tag 或 Commit | feature-branch, v2.0.0 |
# 方式二:Commit 选择
- 从最近 50 条 Commits 中选择
- 支持多选(Ctrl/Cmd + 点击)
- 显示 Commit 简要信息
# 保存选项
| 选项 | 说明 |
|---|---|
| 保存到项目 | 保存到仓库的 patches 目录 |
| 文件名 | 描述性名称,如 feature-login |
| 保存路径 | 默认 patches/,可自定义 |
| 立即提交到 Git | 自动 commit 新创建的 Patch |
# 命名规则
系统自动生成序号前缀:
- 第一个 Patch:
001-description.patch - 第二个 Patch:
002-description.patch - 以此类推...
# 应用 Patch
# 单个应用
- 找到待应用的 Patch
- 点击 "应用" 按钮
- 查看应用前检查结果
- 填写提交消息(可选)
- 点击 "应用" 确认
# 批量应用
- 点击 "批量应用" 按钮
- 确认应用数量
- 系统按顺序依次应用
# 应用状态
| 状态 | 说明 |
|---|---|
| ✅ 已应用 | Patch 已成功应用到代码 |
| ⏳ 待应用 | Patch 等待应用 |
| ⚠️ 冲突 | Patch 存在冲突,无法应用 |
# Patch 操作
# 查看 Patch
点击 "查看" 按钮查看 Patch 内容:
From: abc123...
Subject: [PATCH] feat: add login feature
---
src/login.ts | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/src/login.ts b/src/login.ts
new file mode 100644
index 0000000..abc1234
--- /dev/null
+++ b/src/login.ts
@@ -0,0 +1,50 @@
+// Login implementation
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 下载 Patch
点击 "下载" 按钮下载 .patch 文件到本地。
# 删除 Patch
- 点击 "删除" 按钮
- 确认删除操作
- Patch 文件从仓库中移除
# 进度追踪
# 进度条
顶部进度条显示整体应用进度:
已应用 3 / 共 5 个 patch
1
- 绿色:正常进度
- 红色:存在冲突
# 快捷按钮
| 按钮 | 功能 |
|---|---|
| 应用下一个 | 快速应用下一个待应用的 Patch |
| 批量应用 | 一次应用所有待应用的 Patch |
# 最佳实践
# 1. 命名规范
使用描述性名称:
feature-login- 新功能fix-crash-bug- Bug 修复refactor-database- 代码重构
# 2. 有序应用
按序号顺序应用 Patch,避免依赖问题。
# 3. 定期清理
删除已应用且不再需要的 Patch 文件。
# 4. 备份重要 Patch
下载保存重要的 Patch 文件作为备份。
# 使用场景
# 场景一:代码审查
- 开发者生成 Patch
- 发送给审查者
- 审查者下载并应用
- 检查代码变更
- 反馈意见
# 场景二:版本迁移
- 从稳定分支生成 Patch
- 应用到开发分支
- 保持功能同步
# 场景三:热修复部署
- 修复紧急 Bug
- 生成 Patch
- 应用到生产环境
- 快速部署