本指南提供了將補丁應用到程序或文件的基本概述。
用於應用修補程序的命令是修補程序命令,但為了應用修補程序,diff命令也需要用於提供需要修補的差異。
為什麼你會創建一個補丁
想像一下你有一個HTML文件 ,如下所示:
HEAD>
歡迎使用MySite h1>
BODY>
HTML>
上述源文件加載到Web瀏覽器時將顯示“歡迎使用MySite”。
編程時需要多個版本的同一個文件。 例如,有一個版本是當前的活動版本,開發分支上會有另一個版本,可能包含多個更改,最後可能會在發布分支上有另一個版本。
發布分支將是真實用戶使用的版本(即,在這種情況下,MySite網站的訪問者)。 讓我們說MySite是在1.0版本。 在開發階段之後,您將創建一個發布分支,在這種情況下將為1.1。 開發分支可能會在發布分支之前,因為它可能包含版本1,2中未發布的更改,但是版本1.1將包含這些更改。
想像一下,有一個MySite應該被稱為YourSite的錯誤。 您可以依次前往每個分支,並對實時版本,開發版本和發行版本進行更改,以便將更改作為實時熱修復,然後將補丁應用於開發和發布分支。
一個工作示例
使用下面的代碼創建一個名為myfile.html的文件:
HEAD>
歡迎使用MySite h1>
這是修補源代碼的一個有效的例子。 p>
BODY>
HTML>
使用下面的代碼創建另一個名為myfile_v2.html的文件:
HEAD>
歡迎使用您的網站 h1>
這是修補源代碼的一個有效的例子。 p>
BODY>
HTML>
第一個文件是標題為“Welcome to MySite”的原始網頁。 第二個文件與第一個文件相同,只是MyFile在文本中重命名為YourFile。
如何創建差異文件
為了創建補丁,我們需要計算myfile.html和myfile_v2.html之間的差異。
我們可以用diff命令來做到這一點,如下所示:
diff -u myfile.html myfile_v2.html> myfile.patch
您可以按如下方式在nano編輯器中打開myfile.patch文件,以便查看它:
nano myfile.patch
藍色顯示未更改的行。 已刪除的行顯示為紅色,已添加的行顯示為綠色。
如何使用補丁命令應用補丁
要將修補程序應用於myfile.html,請使用以下命令:
補丁 這會將使用diff命令創建的更改應用到原始文件myfile.html。 如果您想恢復該修補程序,以使myfile.html恢復到原來使用以下命令的方式: patch -R patch命令可用於在整個目錄結構中應用修補程序。 有比補丁命令更好的工具來創建補丁和確保良好的源代碼控制。 有這麼多的開發項目使用GIT進行源代碼控制是有原因的。 GIT可以輕鬆創建一致的分支策略。 補丁命令可以將差異應用於bash腳本或簡單的東西,但您可以輕鬆地創建要修補的文件的備份副本,並將新文件簡單地複製到同一位置。 有關更多信息,請使用man命令: 人補丁 如何恢復補丁
概要