打补丁两种方式
format-patch 和diff 两种方式网上一大堆复制粘贴,无非把git手册到处复制粘贴,自己动手截个图的没一个,我来补充一下吧。
git format-patch commit1 commit2
输出到一个文件
git format-patch android12-5.10-2022-10_r5 android12-5.10-2022-10_r7 --stdout > kernel333.diff
输出到指定目录:
git format-patch android12-5.10-2022-10_r5 android12-5.10-2022-10_r7 -o ../now
然后
git am *.patch
因为肯定是一堆patch,需要批量打入。看下面。
git diff
git diff android12-5.10-2022-10_r5 android12-5.10-2022-10_r7 > kernel.diff
git dpply xxx.diff
format-patch 的坑,not recommend!
git format-patch 会生成一大堆patch,如下图,至今不知道原理是啥,明明两次提交之间没有那么多修改,很离谱,网上看到一些说是会将提交日志,作者,日期也生成patch,但是也不可能这么多啊
这是因为每个commit 都是一个patch!
明明只是最近两次提交,都会生成一大堆,
但是使用
git format-match HEAD^ 这种确实只会生成一个
总结
我觉得我们需要的只是
git diff commit1 commit2 > kernel.diff
,把两次提交之间改动保存到一个文件
看下图
然后git apply 就行