Patch补丁应用器
粘贴 .diff/.patch 与源文件,本地按 hunk 逐块应用,失败精确到行
解析 unified diff(--- a/x +++ b/x 文件头 + @@ -l,s +l,s @@ 块),对每个 hunk 先按声明行号定位,上下文不符时自动在附近行号搜索匹配位置;仍不匹配就把「期望上下文 / 实际内容」摆出来并跳过该块,绝不崩。全部 hunk 按顺序累计行号位移,输出可直接复制的结果文件。不做 fuzz 模糊合并——匹配不了就明确报错。所有内容留在浏览器本地处理。
Diff 补丁内容
解析到 0 个文件段、 0 个 hunk。
源文件内容
源文件共 0 行。
逐块应用结果
粘贴 diff 后,每个 hunk 的成功/失败状态显示在这里
结果文件
在左侧输入 diff 与源文件后,这里输出打过补丁的完整内容。
#关于 Patch 补丁应用器
unified diff 是 Git、diff -u、各类 PR 导出补丁的通用格式。手工打补丁最怕「行号对不上」:本工具按 hunk 逐个尝试——先用声明的起始行定位,把上下文(空格行)与待删行(-行)与源文件逐字比对;不一致就在附近行号双向搜索,找到完全吻合处再落刀,找不到就整块标记失败并展示冲突行,其余 hunk 照常处理。
如何使用
- 把
git diff > x.patch或diff -u产出的补丁粘到左上; - 把要修改的源文件全文粘到左下(单文件场景;多文件段会按顺序作用于同一份文本,仅供预览);
- 查看每个 hunk 的成功/失败标记,失败块附带「期望 vs 实际」行;
- 点击「复制结果」拿到应用后的完整文件内容,回编辑器保存即可。
定位与失败规则
- 匹配依据是上下文与删除行的逐字相等(含行首尾空格);纯新增 hunk(删除行为 0 条)在就近位置直接插入。
- 就近搜索覆盖 ±max(300, 文件行数) 行,可吸收上方 hunk 造成的行号漂移;多个 hunk 按补丁顺序应用并累计位移。
- 本工具不做 fuzz(允许忽略 1-2 行上下文的模糊合并),宁可失败报告也不静默放错位置——生产环境请配合
git apply复核。
常见问题
- 为什么全部 hunk 都失败?多半是源文件粘错了版本(或行尾换行风格 CRLF/LF 不一致——本工具按行比较时不换算行尾符,请保持同一来源);看失败详情里的期望与实际行即可判断。
- 新建或删除文件的补丁怎么处理?
--- /dev/null表示新建,源文件留空即可整段插入;反之删除文件补丁要求源内容与被删行完全一致。git 扩展头(diff --git、index 行)会被自动忽略。 - 补丁和文件会被上传吗?不会,解析与应用全部在浏览器本地完成,适合未公开的产品代码与内部补丁。
相关工具推荐
Spine动画编辑器
专业的Spine动画预览和编辑工具,支持多引擎导出
SQL查询优化器
分析SQL查询并提供优化建议
JVM启动参数配置
可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项
代码片段转换
不同编程语言间代码片段转换(如Python↔JavaScript)
IP地址查询
查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6
JSON转TypeScript接口
根据JSON数据自动生成TypeScript类型定义
相关教程
开发者的浏览器工具箱(二):调试排障与数据转换
排障和转换是开发里最费时间的两类小事:日志贴错地方、JSON 转不出类名、正则看不懂别人写的。这篇收录站内 25 款浏览器工具,覆盖日志与堆栈分析、结构转换、编码转义、正则与公式、LLM 成本与 Prompt 版本管理,全部本地处理,敏感日志不出本机。
2026-10-20
后端排查进阶包:雪花 ID 反推、日志速析、补丁定位与跳板配置
订单号里藏着生成时刻、十万行 access.log 里找异常来源、补丁死活 apply 不上、SSH 命令越敲越长——后端排查的五件新活各有套路,外加还原 SQL、堆栈定位、连接串核对三位老将。日志、堆栈、配置全部本地处理不上传。
2026-10-20