在xx目录下创建补丁文件xx.patch,并查看
[King@Fedora xxx]$ cd .. [King@Fedora xx]$ diff -Naru xxx/xxx1 xxx/xxx2 > xx.patch [King@Fedora xx]$ cat xx.patch --- xxx/xxx1 2009-12-19 22:28:26.582959182 +0800 +++ xxx/xxx2 2009-12-19 22:28:42.798928591 +0800 @@ -1,2 +1,2 @@ 111111 -111111 +222222
在x目录下创建补丁文件x.patch,并查看
[King@Fedora xx]$ cd .. [King@Fedora x]$ diff -Nu xx/xxx/xxx1 xx/xxx/xxx2 > x.patch [King@Fedora x]$ cat x.patch --- xx/xxx/xxx1 2009-12-19 22:28:26.582959182 +0800 +++ xx/xxx/xxx2 2009-12-19 22:28:42.798928591 +0800 @@ -1,2 +1,2 @@ 111111 -111111 +222222
现将patch文件都拷贝到xxx目录下去。
[King@Fedora x]$ cp x.patch xx/xxx/ [King@Fedora x]$ cp xx/xx.patch xx/xxx/
进入xxx目录开始实验
[King@Fedora x]$ cd xx/xxx [King@Fedora xxx]$ ls x.patch xx.patch xxx1 xxx2 xxx.patch [King@Fedora xxx]$ patch-p0< xxx.patch #用第二个的 补丁 修改 第一个文件 patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 222222 [King@Fedora xxx]$ patch -RE < xxx.patch #用第一个的 补丁 修改 第一个文件 patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 111111 [King@Fedora xxx]$ patch -p1 < xx.patch patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 222222 [King@Fedora xxx]$ patch -RE < xxx.patch patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 111111 [King@Fedora xxx]$ patch -p2 < x.patch patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 222222 [King@Fedora xxx]$ patch -RE < x.patch patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 111111
------------------------------------------------------------
[King@Fedora xx]$ patch-p0 < xx.patch # 用第二个的 补丁 修改 第一个文件 patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 222222 [King@Fedora xxx]$ patch -RE < xxx.patch #用第一个的 补丁 修改 第一个文件 patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 111111 [King@Fedora xxx]$ patch -p1 < x.patch patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 222222 [King@Fedora xxx]$ patch -RE < xxx.patch patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 111111
--------------------------------------------------------------------------
[King@Fedora x]$ patch-p0< x.patch # 用第二个的 补丁 修改 第一个文件 patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 222222 [King@Fedora xxx]$ patch -RE < xxx.patch #用第一个的 补丁 修改 第一个文件 patching file xxx1 [King@Fedora xxx]$ cat xxx1 111111 111111
这里唯一需要说明的是p0的含义,因为在x.patch补丁文件里的路径信息是这样的:
--- xx/xxx/xxx1
p表示跳过几级目录,因为是在x目录下使用的patch命令,xx目录就在x目录下,所以不必跳过任何目录,而应该使用--- xx/xxx/xxx1 完整路径,所以此时使用的是p0。








