diff -uNr src modify > patch_file对于diff命令,它的功能就是逐行比较两个文件的不同,然后输出比较的结果。如果将diif输出的比较结果保存到某个文件中,这个文件也就是所谓的diff补丁文件
patch -pN < xxx.patchxxx.patch文件是上面diff命令生成的补丁文件,打补丁就是patch利用diff制作的补丁来实现源文件(夹)和目的文件(夹)的转换。这样说就意味着你可以从源文件(夹)到目的文件(夹),也可以目的文件(夹)到源文件(夹)。一般情况下,我们都是将源文件打补丁到我们修改后的目的文件。
diff -uNr src/bsp/bsp_led.c modify/bsp/bsp_led.c当我们在src目录下进行打补丁时,此时打补丁所在的目录是在src目录,它从当前目录下可以寻找bsp的文件夹,在它下面找bsp_led.c,所以此时需要用-p1来指定忽略第一个/前的目录(这里用到的是相对路径)。