1、產生patch:
(1)純淨的**a_old,執行make distclean
(2)將a_old拷貝乙份到b_new
(3)將修改的檔案放入b_new中
(4)執行diff -uprn a_old b_new > mypatch,這樣是對多個檔案打patch
對單個檔案打patch:
diff -up orig_file new_file > mypatch
u 顯示有差異行的前後幾行(上下文), 預設是前後各3行, 這樣, patch中帶有更多的資訊.
-p 顯示**所在的c函式的資訊.
-r 遞迴地對比乙個目錄和它的所有子目錄(即整個目錄樹).
-n 如果某個檔案缺少了, 就當作是空檔案來對比. 如果不使用本選項, 當diff發現舊**或者新**缺少檔案時, 只簡單的提示缺少檔案. 如果使用本選項, 會將新新增的檔案全新列印出來作為新增的部分.
2、新增patch的辦法:
(1)新的**c
(2)cd c
(3)patch -p1 < mypatch
p0表示從mypatch指示的開始路徑新增patch,p1表示忽略mypatch中的第一級目錄,p2表示忽略mypatch中的第二級目錄。
3、解除安裝patch
patch -p(n) -r < 【補丁包路徑,例如mypatch】
生成patch和打patch
單個檔案 diff un ori file mdf file mdf file.patch 生成patc 件 patch p0 mdf file.patch 將patch修改應用到源 patch re p0 mdf file.patch 回退patch的修改多個檔案 diff unr ori dir...
生成patch和打patch總結
git生成patch和打patch 方法1.git diff x mypatch patch p1 mypatch 方法二.單個commit git format patch 1 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7 把patch檔案拷貝到git同目錄下 ...
Linux下生成patch和打patch
通過diff工具生成補丁,patch工具打上補丁.在使用diff之前,你需要保留乙份未修改過的原始碼,然後在其它地方修改原始碼的乙份拷貝.diff對比這兩份原始碼生成patch.修改過的原始碼必須保留原來的檔名,例如,如果你修改原始碼中的a.c檔案,那麼,修改後的檔案還是名為a.c,在修改之前你可以...