git commit 生成專用PATCH及合入PATCH的方法

一、根據git 提交記錄生成PATCH
1、git format-patch -1 commit_id 生成git專用PATCH
如:git format-patch -1 e3faf9e06b6d1ca46d79e972ebf54daf00f68d87
生成:0001-test.patch 的補丁

2、檢查該PATCH信息
如:git apply --stat 0001-test.patch

3、檢查該PATCH是否能在指定源代碼中合入
如:git apply --check 0001-test.patch
error: zyf/FileTrans/test.txt:已經存在於工作區中

如果沒有任何輸出,則表示可合入。如有錯誤會在終端輸出。

二、合入PATCH到指定代碼庫中
1、git pull更新代碼

2、git apply  0001-test.patch 合入到本地

3、git status 查看PATCH的修改

4、git commit -m "提交說明"

5、git push origin master 將代碼推送到服務器的主分支上

三、使用diff生成通用PATCH
1、使用diff commit1 commit2 > diff.patch可以生成通用PATCH,表示從commit1到commit2(含commit2)的修改生成PATCH文件
2、使用patch -p(n) < diff.patch 合入PATCH,其中 n 代表路徑的層級

四、注意事項
推薦使用git format-patch生成git 專用PATCH,因爲我們在實際使用中發現,如果使用diff生成通用PATCH,對於刪除文件的操作會出現失敗的情況。如果沒有刪除操作的情況下diff的效率及通用性會比較好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章