1. 程式人生 > >如何用git建立和應用patch

如何用git建立和應用patch

首先,用git clone 將遠端的庫克隆到本地:

git clone url  name_of_your_local_directory
cd name_of_your_local_directory

在本地的master建立一個分支

git checkout -b branch_name

基於當前的分支進行程式碼的編輯,測試等操作,當你的編輯測試完成時可以建立patch。

git branch_name master --stdout > patch_name.patch

這是建立好一個名為patch_name.patch的patch。本質上就是比較你所建立的分支與master分支的不同。
在建立號patch之後就可以應用patch。
應用patch主要使用git apply命令。
首先可以檢視一下patch的內容,通過如下的命令:

git apply --stat patch_name.patch

在檢視玩patch之後,在正式應用patch之前最好可以測試一下patch。

git apply --check patch_name.patch

如果沒有出現任何的錯誤,那麼恭喜你,可以正式的應用這個patch,正式應用這個patch需要通過命令git am而不是git apply。
git am會讓你sign off這詞patch的應用,這樣在後續的歷史記錄中可以進行追蹤和方便參考。

git am --signoff patch_name.patch

這樣patch就正式應用於master分支了。在git的log中你會清楚的看到這次patch的應用內容是由誰提交的。
ps.
這種方法看起來好像很複雜,跟我們平時使用git的方法完全不同。這種提交程式碼的方式在apache專案中應用的比較多。如果你想為apache專案提交你的貢獻例如修補bug,那麼就需要通過patch的方式為相應的bug提交patch的附件,專案的委員會成員會驗證你的patch。如果沒有問題那麼你的patch就會被應用到master的原始碼中。