Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 知乎專欄 | 視頻教程 | About

3.2. patch - apply a diff file to an original

diff

-r 是一個遞歸選項,設置了這個選項,diff會將兩個不同版本原始碼目錄中的所有對應檔案全部都進行一次比較,包括子目錄檔案。

-N 選項確保補丁檔案將正確地處理已經創建或刪除檔案的情況。

-u 選項以統一格式創建補丁檔案,這種格式比預設格式更緊湊些。

patch

-p0 選項要從當前目錄查找目的檔案(夾)

-p1 選項要忽略掉第一層目錄,從當前目錄開始查找。

-E 選項說明如果發現了空檔案,那麼就刪除它

-R 選項說明在補丁檔案中的“新”檔案和“舊”檔案現在要調換過來了(實際上就是給新版本打補丁,讓它變成老版本)

例 3.1. single file

make a patch file

$ diff -uN file.old file.new > file.patch
			

take a patch file

			
$ patch -p0 < file.patch
			
			

例 3.2. a lot of file or directory

$ diff –uNr dir.old dir.new >my.patch
			

			
$ patch -p1 < file.patch