####单个文件 diff -u file1 file2 > f1f2.patch

将补丁应用于file1: patch file1 < f1f2.patch

恢复file1之前版本:patch file1 -R < f1f2.patch

####patch文件格式(diff中-u使得差异输出中带有上下文 ): diff -u a1/a1.1 a2/a1.1(差异比较的命令)

— a1/a1.1 2012-04-22 23:32:19.000000000 +0800(-代表文件)

+++ a2/a1.1 2012-04-22 22:48:53.000000000 +0800(+代表副本)

@@ -1 +1,2 @@(@差异标识符,-1 +1,2表示文件的第1行到第2行,副本的第1行到第2行)

this a1.1(没有差异地方)

+add in a2(副本中有的)

####目录(多个文件) diff -ur dir1 dir2 > d1d2.patch

将补丁应用于dir1:patch -p0 < d1d2.patch

恢复dir1之前的版本: patch -R dir1 < d1d2.patch

patch -p数字:跟d1d2.patch 里面的文件名有关(就patch文件第一行)0代表于要更新的文件在同一目录下: 例如diff -uNr a1/a1.1 a2/a1.1 p0就是要打补丁的文件是a1/a1.1,p1代表要更新的文件时a1.1(即p代表目录层次)