例如我们有一个a.patch文件,我们先看看这个patch文件是在哪个目录下生成的
来看用户的home目录下的 a.patch 中的部分内容
--- a/drivers/misc/mediatek/lens/main2/common/lc898212xdaf_f/LC898212XDAF_F.c
+++ b/drivers/misc/mediatek/lens/main2/common/lc898212xdaf_f/LC898212XDAF_F.c
由上面的可知,这个patch是在内核目录下生成的,因此,我们进入这个目录下
ubuntu@flm:~/$ cd ~/android/kernel-4.4/
然后执行
ubuntu@flm:~/android/kernel-4.4/$ git am ~/a.patch
发现出现报错
Patch format detection failed.
原因是因为这个a.patch文件是用git diff 命令生成的,所以得用git apply 命令来合并
ubuntu@flm: git apply ~/a.patch
如果是用patch打出来的patch,则使用git am patch文件
如果有时候我们切换版本后又编译发生下面的错误,那么我们可能需要删除编译的文件后再重新编译
error: patch failed warning:xxxx.cpp has type 100755, expected 100644
rm -fr out
重新make
注意,用git apply的话是不需要自己建仓库的