打补丁 patch 笔记

本文详细介绍了如何使用Git通过commit结点和diff方式打补丁,包括从commit生成patch及应用patch的过程。提供了具体命令示例,如使用git diff生成patch文件和使用git apply应用patch。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 通过 commit 结点打补丁

patch -p1  <../xxx.patach  
patch -p1  < xxx.patach  

将某个提交做成patch的方法:
git diff  commit_a^ commit_b > diff.patch
commit_b应该是比commit_a新的提交
此时的patch 应该是 commit_b 相对于commit_a 的变化 这样可以将两个提交间的差别输出成文本格式的patch


或者直接:
             旧            最新                应用
git diff 4a9a2597cf747  206f3e81f642  | git apply

2 diff 方式打patch:
在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.

			原        新
diff -up svc.orig.c svc.c > my.patch

//到 svc.c 和 svc.orig.c 所在目录执行
patch -p0 < my.patch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux老A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值