🩹 在线Diff转Patch工具

免费在线Diff转Patch工具,将unified diff格式转为标准.patch文件,支持预览变更、生成补丁、应用补丁。无需注册,数据不上传服务器。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

输入Diff内容

Patch选项

Patch文件内容

Diff转Patch能做什么?

将unified diff格式的输出转换为标准.patch文件,支持正向和反向补丁生成。可解析git diff输出,统计变更行数,是代码审查和版本控制的实用工具。

核心功能

Patch生成:将diff输出转为标准.patch格式

反向Patch:生成撤销变更的补丁

变更统计:统计添加/删除/修改的行数

格式验证:检查diff格式是否正确

一键下载:直接下载.patch文件

使用教程

步骤1:将git diff或diff -u的输出粘贴到输入区域。也可点击「加载示例」体验。

步骤2:设置Strip级别(默认1,对应patch -p1),点击「生成Patch」或「生成反向Patch」。

步骤3:复制或下载.patch文件,在终端使用 patch -p1 < changes.patch 应用。

应用场景

场景1:代码审查 — 审查他人的代码变更时,将diff转为patch文件,在本地应用后测试验证,确保变更符合预期。

场景2:版本回退 — 使用反向Patch快速撤销某次提交的修改,无需手动逐行还原,适合紧急修复场景。

场景3:离线分发 — 在无法直接访问Git仓库的环境中,通过.patch文件分发代码变更,接收方用patch命令应用。

扩展知识

Patch格式标准:标准.patch文件包含:文件头(---旧文件 / +++新文件)、变更范围(@@起始行,行数+起始行,行数@@)、差异行(+添加、-删除、空格上下文)。patch命令按此格式逐文件、逐段应用变更。

Git Format-Patch:git format-patch生成的.patch文件包含邮件头(From、Subject、Date等)和Git提交信息,适合通过邮件提交代码(如Linux内核开发流程)。本工具处理的是纯diff格式,不含邮件头。

什么是Patch文件?

Patch文件是包含代码差异信息的文本文件,用于将修改应用到源文件。标准格式包含文件头、变更范围和具体差异行。可通过patch命令自动应用。

Unified Diff格式是什么?

Unified Diff是最常用的差异格式,由diff -u命令生成。包含文件名、时间戳、变更位置和内容差异。git diff默认输出此格式。

如何应用生成的Patch?

在终端使用 patch -p1 < changes.patch 命令应用补丁。-p1表示去掉路径第一层目录。使用 --dry-run 参数可先预览。

支持Git Diff格式吗?

支持。git diff的输出本质上是unified diff格式。工具会正确解析额外git头信息,生成标准.patch文件。

Patch文件和Diff文件有什么区别?

本质上没有区别。习惯上.diff文件是纯差异输出,.patch文件是可直接用patch命令应用的格式。

可以反向应用Patch吗?

可以。使用 patch -R < changes.patch 反向应用补丁,即撤销修改。也可用本工具生成反向Patch。

常见问题

在线Diff转Patch工具 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com