【Git】生成patch和应用patch

生成patch

将本地所有修改打成补丁

bash 复制代码
git diff > /tmp/xxx.patch

将本地对某个文件的修改打成补丁

bash 复制代码
git diff test/1.txt > /tmp/1.patch

将某一次提交的修改内容打成补丁

-1表示只为单个提交创建patch,-o表示输出patch的文件夹路径,默认是用提交的message命名。

bash 复制代码
git format-patch -1 {commidid} -o /tmp

将两次提交的差异打个patch

git diff {commitid1} {commitid2} 展示的commitid2相比于commitid1发生的变化。

下方命令会将 77cef1b5 这次提交与 8f7b465b 这次提交相比发生的变化打入到1.patch文件中。

bash 复制代码
git diff 8f7b465b 77cef1b5 > /tmp/1.patch

下方命令会将 8f7b465b 这次提交与 77cef1b5 这次提交相比发生的变化打入到2.patch文件中。

bash 复制代码
git diff 77cef1b5 8f7b465b > /tmp/2.patch

校验patch

查看补丁状态,显示修改了几个文件,增加多少行,减少多少行。

bash 复制代码
git apply --stat /tmp/xxx.patch

检查补丁是否能应用到当前代码中,如果可以,下方命令返回为空。

bash 复制代码
git apply --check /tmp/xxx.patch

当校验不通过时,会提示哪个文件有冲突。

应用patch

git apply应用patch文件后,检查修改内容后,重新add,commit即可。

将补丁文件中的内容打入到当前代码中

bash 复制代码
git apply /tmp/xxx.patch
相关推荐
泡沫冰@4 小时前
基于Git、Jenkins、Podman、ECS的CI/CD实践
git·jenkins·podman
zfoo-framework4 小时前
git拦截大于5M文件
git
马里马里奥-7 小时前
VS Code Git 工作树:解锁多分支并行开发新体验
git
2401_8534482311 小时前
Git安装流程和基础使用步骤
git·github
j7~15 小时前
【Git】《Git 系列指南(一):初识Git和安装Git配置》
运维·git·git版本控制器·git安装步骤
Sagittarius_A*17 小时前
Web 安全之 Git 泄露:原理剖析 + CTFHub Log/Stash/Index 全题型解法
git·安全·web安全
lazy H18 小时前
从入门到日常开发,一篇文章掌握 Git 核心操作
git·后端·学习·github
zzqssliu1 天前
煤炉自动代拍系统的队列设计与超时控制机制
git·github
一支绝命钩1 天前
FPGA工程Git常用操作手册
git
不搞学术柒柒1 天前
Git新功能完整开发提交流程
git