如果应用了某一个补丁之后想恢复原来的文件,那么使用参数 -R,例如: 1. 首先打了一个补丁 $ patch -p1 < my.patch 2 然后想恢复原来的文件,那么 $ patch -R -p1 < my.patch 如果要为多个文件制作补丁,那么可以使用 git 来快速生成,因为 git 是一个局部目录的库,所以不会有多余开销。 1.创建 git $ cd src $ git init 2.添加需要制作补丁的文件,或者全部添加 $ git add * 或者 $ git add *.c 3. 提交原始文件 $ git commit -a -m'init' 4. 修改源文件 。。。 5. 创建补丁 $ git diff > my.patch 两者配合时候可以合并、编辑以前的多个补丁文件,最后生成一个最新版本的补丁文件。 这样创建的补丁文件目录会自动增加一个前缀 a/ b/,例如 diff --git a/Makefile.in b/Makefile.in 这时候应用补丁的时候需要到包的根目录,使用 -p1 选项 $ patch -p1 < my.patch 如果不想在文件名前面增加前缀,那么使用选项 --no-prefix $ git diff --no-prefix > my.patch 生成的补丁头如下,没有了文件目录的前缀 diff --git Makefile.in Makefile.in 用这个打补丁的时候就需要使用 -p0 选项 $ patch -p0 < my.patch |
|
来自: 风雪夜归人_95 > 《技术类-linux》