如何用git建立和應用patch
阿新 • • 發佈:2019-02-19
首先,用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的原始碼中。