1. 程式人生 > >如何使用git 生成patch

如何使用git 生成patch

1,下載程式碼

git clone git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6.git

cd bluetooth-next-2.6

2,修改程式碼

vi drivers/bluetooth/btusb.c

3,把程式碼新增到git管理倉庫

git add drivers/bluetooth/btusb.c

4,提交修改

git commit -m "Added atheros3012 Chip Firmware download support"

5,檢視日誌

git log <== to git the previous commit hash code.

6,生成patch

git format-patch -s 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7

please replace the hash code with your repo previous commit.

then you can find the patch under repo directory.

then mail your patch to configuration admin. 

或者使用

git format-patch HEAD^ <==最近的1次commit的patch

git format-patch HEAD^^ <==最近的2次commit的patch

git format-patch HEAD^ <==最近的3次commit的patch

git format-patch HEAD^ <==最近的4次commit的patch

git format-patch HEAD^^^^^ <==不支援!!!!error!!!

7,退回去

git reset --hard 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7

8.將補丁打上去。

patch -p1 < 0001-Added-liuxingde-test.patch

注: 0001-Added-liuxingde-test.patch為想要打的補丁的名字。執行該命令需在git專案的要目錄下。