不喜欢广告? 无广告 今天

Git 统一差异与补丁生成器

开发人员文本
广告 移除?
用于 --- 标头
用于 +++ 标头
显示每个变更周围的未更改行
广告 移除?

指导

Git 统一差异与补丁生成器

Git 统一差异与补丁生成器

粘贴原始片段和修改后的片段,以立即生成有效的统一差异 .patch 格式。输出使用正确的块头(@@ -L,N +L,N @@)以便使用 git apply 或标准 patch 工具——无需手动修复。

如何使用

  1. 将原始文本粘贴到 Original 文本区域。
  2. 将修改后的版本粘贴到 已修改 文本区域。
  3. 可选地调整 原始路径修改后路径 以设置统一差异头中使用的文件名。 ---+++ 标头。
  4. 拖动 上下文行 滑块以选择围绕每个变更的未更改行数量(0–10)。
  5. 复制统一差异或下载为 changes.patch 以供使用 git applypatch -p1.

特征

  • 符合标准的统一差异 ——正确的块头、行数和上下文处理。
  • 可配置的上下文 ——为每个块选择 0 到 10 行的周围上下文行。
  • 自定义文件路径 ——设置 a/b/ 文件名,以便差异针对正确的文件。
  • 统计摘要 ——即时显示添加和删除行的 +N / -N 读数。
  • 一键下载 ——将差异导出为 changes.patch,可直接用于 git apply.
  • 完全在浏览器中运行 ——无需上传;页面加载后即可离线使用。

何时使用此工具

每当需要将代码变更作为补丁共享时,请使用此生成器——例如,在问题跟踪器上发布、通过邮件发送贡献,或将 AI 建议的编辑粘贴到真实代码库中。它特别适用于将 LLM 的“之前/之后”片段转换为可直接通过一条命令应用的补丁。

广告 移除?

常问问题

  1. 什么是统一差异?

    统一差异是描述两个文件之间变更的标准文本格式。它以两个标题行(--- 原始 和 +++ 新)开始,后跟一个或多个块。每个块以 @@ -oldStart,oldCount +newStart,newCount @@ 开头,并列出上下文、删除(-)和添加(+)的行。该格式由 GNU diff 工具推广,并且是 git apply 和 patch 默认期望的格式。

  2. git apply 如何使用统一差异?

    git apply 读取统一差异,并将每个块重放至工作树中的匹配文件。它使用块的行号和周围上下文来定位变更位置,然后执行添加和删除操作。如果上下文不匹配(因为目标文件已漂移),git apply 会拒绝该补丁,除非您传递诸如 --3way 或 --reject 的选项。

  3. @@ -1,5 +1,6 @@ 中的数字是什么意思?

    块头告诉您变更的位置以及它在每侧覆盖的行数。-1,5 表示原始文件段从第 1 行开始,覆盖 5 行(删除的行加上上下文行)。+1,6 表示新文件段从第 1 行开始,覆盖 6 行(添加的行加上上下文行)。当计数为 1 时,逗号和数字有时会被省略(例如,@@ -42 +42 @@)。

  4. 为什么补丁中的额外上下文行很重要?

    上下文行是打印在每个变更上方和下方的未更改行。它们为补丁工具提供了在目标文件中查找变更的锚点,即使周围的代码已移动几行。更多的上下文(例如 5 或 7 行)使补丁对小漂移更具鲁棒性,但也使其更大;GNU diff 的默认值为 3 行,通常是一个良好的平衡。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?