Git补丁简单用法介绍(打补丁.diff 和 .patch 和 git apply、git am应用)

35 篇文章 1 订阅
3 篇文章 0 订阅

打补丁.diff 和 .patch 和 git apply、git am应用


生成patch
git format-patch -M master
生成指定patch,afc425592dc7dde9317d729d8c65206cfea749fc是commit id,-1是指从当前id开始,向下提交次数,包含此次且计数从1开始。
也就是说,我想要打出afc425592dc7dde9317d729d8c65206cfea749fc当前的patch,则命令如下:
git format-patch -1 afc425592dc7dde9317d729d8c65206cfea749fc 或者 git format-patch afc425592dc7dde9317d729d8c65206cfea749fc -1
想要打出afc425592dc7dde9317d729d8c65206cfea749fc和它之前的一次提交的patch,则命令如下:
git format-patch -2 afc425592dc7dde9317d729d8c65206cfea749fc 或者 git format-patch afc425592dc7dde9317d729d8c65206cfea749fc -2
生成diff:
git diff (id1) (id2) --binary --(path) > 目标文件路径
比如要生成frameworks/base/下的diff,保存到~/gittest/下的f_b.diff:(注意:旧的id1在前)
git diff afc425592dc7dde9317d729d8c65206cfea749fc  32e81b8365c29c769cdf1294520fdbbbf431fea9 --binary -- frameworks/base/ > ~/gittest/f_b.diff


打入 patch / diff
git apply xxx.patch
git apply xxx.diff
检查 patch / diff:
git apply --check xxx.patch
git apply --check xxx.diff
若git和需要打patch的文件不在一个目录:
如: (patch在framework下,patch要打入frameworks/base/下)
git apply --check --directory=base/ xxx.patch
git apply --directory=base/ xxx.patch
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值