生成 patch
diff -ruN xxx_src xxx_dst > xxx.patch
参数:
- -u,合并相同内容。如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间。1990年,GNU diff率先推出了”合并格式”的diff,将f1和f2的上下文合并在一起显示。
- -r,或–recursive,递归比较,比较子目录中的文件。
- -N,或–new-file,文件A仅出现在某个目录中,预设会显示:Only in目录;文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
应用 patch
patch [参数] <patchfile>
参数:
- -p Num 忽略几层文件夹
- -E 选项说明如果发现了空文件,那么就删除它
- -R 取消打过的补丁。
如果使用参数-p0,表示从当前目录找打补丁的目标文件夹,再对该目录中的文件执行patch操作。 而使用参数-p1,表示忽略第一层目录,从当前目录寻找目标文件夹中的子目录和文件,进行patch操作。
产生补丁1
diff -uN f1 f2 > file.patch
打补丁1
patch -p0 < file.patch
或者1
patch f1 file.patch
取消补丁1
patch -RE -p0 < file.patch
或者1
patch -RE f1 file.patch
参考文献
参考: