1. 程式人生 > >git如何打補丁?

git如何打補丁?

單個 git 一個 如何 3.2 技術 ... for 單個commit

git cherry-pick 可以把某個分支的某幾次提交合入到當前分支,只是在一臺設備上操作。

git format-patch 可以把某個分支的n次提交分別打成n個補丁,然後把這些補丁文件(比如0001-.patch)發給其他人,或者發到其他機器,他們在自己的機器上,把這些補丁合入到他們當前的代碼中。

比如,分支erebus20180910相比master分支,多了一次提交,打補丁就生成一個補丁文件

技術分享圖片

參考:https://www.jianshu.com/p/814fb6606734

1、在git源碼目錄下執行

1.1、兩個commit間的修改(包含兩個commit)

git format-patch <r1>..<r2>
如:
git format-patch d77aaac74845435744c49ae65511d9e1be79ed5c...046ee8f8423302f5070ca81b4e246516e919cd7a -o patch

1.2、單個commit

git format-patch -1 <r1>

1.3、從某commit以來的修改(不包含該commit)

git format-patch <r1>

2、 把生成的patch文件拷貝到目標git目錄下

3、測試patch

3.1、 檢查patch文件

git apply --stat 0001-minor-fix.patch

3.2、 查看是否能應用成功

git apply --check 0001-minor-fix.patch

4、應用patch

git am -s < 0001-minor-fix.patch



git如何打補丁?