1. 程式人生 > 其它 >Git的patch相關操作

Git的patch相關操作

獲取 patch

最簡單的命令是:

git diff > modified.patch

這樣將git diff的輸出放在一個檔案中,而diff的輸出就是修改的補丁,是tracked的檔案的修改記錄(相對於commit在庫中的修改)。

如果有新增的檔案,並不在Git管理之內,也就是還沒有commit在倉庫中的檔案,執行如下:

git diff --cached > modified.patch

如果還包含二進位制檔案,例如圖片等

git diff --cached --binary > modified.patch

對某個commit生成patch

先用git log找到兩個commit記錄的簽名,然後利用:

git diff xxxxx yyyyy > modified.patch

這裡xxxxx和yyyyy分別是兩個commit的簽名。

應用 patch

將一個patch應用到Git倉庫中的命令是:

git apply modified.patch

不過在應用之前應該先檢查patch檔案:

git apply --stat modified.patch

檢查能否應用成功:

git apply --check modified.patch

打補丁:

git am --signoff < modified.patch

使用-s或--signoff選項,可以commit資訊中加入Signed-off-by資訊