惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
博客园 - 司徒正美
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
D
Docker
Blog — PlanetScale
Blog — PlanetScale
Recent Announcements
Recent Announcements
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
腾讯CDC
T
The Blog of Author Tim Ferriss
小众软件
小众软件
U
Unit 42
T
Tailwind CSS Blog

博客园 - kingBook

git 修改最后一次提交的日期 Win10 修改特定格式文件的右键快捷菜单 TypeScript async、 await、Promise LayaAir3.x 侦听程序退出 旋转力学例子 旋转力学公式 凹多边形碰撞检测 LayaAir3.x 侦听键盘事件 URP 阴影 TypeScript 里的 override TypeScript 类的自身类型 Unity 二维数组序列化 C# 匿名对象、动态属性 Cocos Creator 安卓模拟器中无法运行 Unity Editor 保存图片、缩放纹理 LayaAir3.2.0-beta.2 设置2d刚体线性速度,在不同设备(分辨率)下,表现不一致的问题 LayaAir3.x 物理2D碰撞事件 TypeScirpt 声明Map类型变量 TypeScript 声明函数类型变量
git patch
kingBook · 2026-03-24 · via 博客园 - kingBook

在日常开发中,打 patch(补丁) 是将某段代码变更应用到另一个代码库或分支的常用方式. Git 提供了两种主要方法来应用 patch,分别应用不同场景.

  1. git format-patch 生成的 Git 专用补丁文件 (.patch).
  2. git diff 生成的 UNIX 标准补丁文件 (.diff).
  • .patch 记录了内容更改,有提交记录信息,一个提交只能对应一个 patch 文件.
  • .diff 记录了内容更改,无提交记录信息,多个提交可以合并成一个 diff 文件.

一、创建 patch 和 diff 文件

  • 创建 patch 文件
:: 将最近的一个提交,生成 .patch 文件
git format-patch -1

:: 将指定提交,生成 .patch 文件
git format-patch -1 b703f4d56

:: 将(b703f4d56, 最近的一个提交] 区间的所有提交,逐个生成 .patch 文件
git format-patch b703f4d56

:: 将 (915304, 94e737] 区间的所有提交,逐个生成 .patch 文件 (提交顺序915304..94e737)
git format-patch 915304..94e737
  • 创建 diff 文件
:: 将最近的一个提交,生成 .diff 文件(文件名为 test)
git diff HEAD^ test.diff

:: 将指定提交,生成 .diff 文件
暂缺

:: 将(b703f4d56, 最近的一个提交] 区间的所有提交,生成一个 .diff 文件(文件名为 test)
git diff b703f4d56 > test.diff

:: 将 (915304, 94e737] 区间的所有提交,生成一个 .diff 文件(文件名为 test)
git diff 915304 94e737 > test.diff

二、应用 patch 和 diff 文件

  • 应用 patch 文件
:: 应用生成的 patch 文件
git apply $"C:\Users\admin\Desktop\temp\testgit\0001-add123.patch"
  • 应用 diff 文件
:: 应用生成的 diff 文件
git apply $"C:\Users\admin\Desktop\temp\testgit\test.diff"