|
如果應(yīng)用了某一個(gè)補(bǔ)丁之后想恢復(fù)原來的文件,那么使用參數(shù) -R,例如: 1. 首先打了一個(gè)補(bǔ)丁 $ patch -p1 < my.patch 2 然后想恢復(fù)原來的文件,那么 $ patch -R -p1 < my.patch 如果要為多個(gè)文件制作補(bǔ)丁,那么可以使用 git 來快速生成,因?yàn)?git 是一個(gè)局部目錄的庫,所以不會(huì)有多余開銷。 1.創(chuàng)建 git $ cd src $ git init 2.添加需要制作補(bǔ)丁的文件,或者全部添加 $ git add * 或者 $ git add *.c 3. 提交原始文件 $ git commit -a -m'init' 4. 修改源文件 。。。 5. 創(chuàng)建補(bǔ)丁 $ git diff > my.patch 兩者配合時(shí)候可以合并、編輯以前的多個(gè)補(bǔ)丁文件,最后生成一個(gè)最新版本的補(bǔ)丁文件。 這樣創(chuàng)建的補(bǔ)丁文件目錄會(huì)自動(dòng)增加一個(gè)前綴 a/ b/,例如 diff --git a/Makefile.in b/Makefile.in 這時(shí)候應(yīng)用補(bǔ)丁的時(shí)候需要到包的根目錄,使用 -p1 選項(xiàng) $ patch -p1 < my.patch 如果不想在文件名前面增加前綴,那么使用選項(xiàng) --no-prefix $ git diff --no-prefix > my.patch 生成的補(bǔ)丁頭如下,沒有了文件目錄的前綴 diff --git Makefile.in Makefile.in 用這個(gè)打補(bǔ)丁的時(shí)候就需要使用 -p0 選項(xiàng) $ patch -p0 < my.patch |
|
|