git打補丁patch教程_git fetch命令Git補丁——diff和patch使用詳解_git生成補丁文件
一、diff 和 patch 的區別
Git 提供了兩種補丁方案,一種是通過 git diff 生成的 .diff 文件,第二種是通過 git format-patch 生成的 .patch 文件。
通過 git diff 生成的文件不含有 commit 信息,可以指定文件生成 diff,也可以指定單個 commit, 多個 commit 生成 。
通過 git format-patch 生成的 .patch 文件 含有 commmit 信息。一個 commit 對應一個 patch 文件。
二、生成補丁
1. git diff
(1) 指定文件生成 patch 文件
git diff <filename> > test.patch 或 test.diff
eg. 比如我們修改了 Test.java,Test1.java 文件,我們只想 patch Test.java 文件,那么我們可以使用以下的命令
git diff Test.java > test.patch
想把所有的修改文件打成 patch,即 Test.java,Test1.java 文件,只需要使用下面的命令
git diff > test.patch
(2) 指定 commit id 生成 patch
使用命令行
git diff 【commit id 1】 【commit id 2】 > patch/diff文件名
2. git format-patch
當前分支所有超前master的提交:
git format-patch -M master
某次提交以后的所有 patch:
git format-patch [commit id]
[commit id] 指的是 commit id,可以通過 git log 查看。
從根到指定提交的所有patch:
git format-patch –root [commit id]
某兩次提交之間的所有patch:
git format-patch [commit id 1]..[commit id 2]
eg. git format-patch 365a..4e16 //–365a和4e16分別對應兩次提交的commit id
某次提交(含)之前的幾次提交:
git format-patch –n [commit id]
–n 指 patch數,
生成某次 commit 的 patch 文件:
git format-patch -1 [commit id]
git format-patch 生成的補丁文件默認從1開始順序編號,并使用對應提交信息中的第一行作為文件名。如果使用了– numbered-files 選項,則文件名只有編號,不包含提交信息;如果指定了–stdout選項,可指定輸出位置,如當所有patch輸出到一個文件;可通過 -o <dir> 指定 patch 的存放目錄。
git format-patch -3
過程是,將HEAD和HEAD^相比,生成0003.xxx.patch, 將HEAD^和HEAD^^相比,生成0002.xxx.patch, 將HEAD^^和HEAD^^^相比,生成0003.xxx.patch
git am時可以依編號從小到大進行,也可以git am path/*.patch(git am會自動依編好從小到大進行)
三、應用補丁
1. 檢查 patch/diff 文件:
git apply –stat xxx.patch
檢查能否應用成功
git apply –check xxx.patch/xxx.diff
2. 打補?。?br /> 針對 git diff 生成的補?。?/p>
git apply xxx.patch/xxx.diff
針對 git format-patch 生成的補?。?/p>
git am xxx.patch
四、沖突解決
定位和解決git am沖突的方法_一程山水一程歌-CSDN博客
五、其他
1、包含二進制文件時的diff和apply
git diff HEAD^..HEAD –binary > foobar.patch
https://cloud.tencent.com/developer/article/1423939
https://www.jianshu.com/p/ec04de3f95cc
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
農行企業網銀怎么登錄?企業網銀登錄方法:請用戶登錄農行官網,點擊“企業網銀登錄-證書登錄”進入,原智信版客戶可點擊“用戶名登錄”進入。溫馨提示:若更換登錄電腦需要重新安裝K寶驅動,請用戶通過官網點擊“企業網銀登錄- K寶首次登錄指南安裝K寶驅動”,選擇^下載對應的K寶驅動。辦理企業網銀注冊業務,須向注冊行提供以下資料:1、用戶...
visa卡辦理條件是什么?1、visa借記卡。申請人只要帶身份證就可以到銀行或銀行官網辦理visa借記卡。2、Visa信用卡。申請visa信用卡的條件如下:(1)申請人的年齡在18周歲以上,有完全民事行為能力。(2)申請人有穩定的工作和收入來源,有還款付息的能力。(3)申請人有良好的信用記錄,沒有不良的信用記錄。(4)申請人有有效的身份證明和財力證明。(5)申請人有工作單位出具的工作證明。依據《商...
(資料圖片)關于世界癲癇日是什么節日的知識大家了解嗎?以下就是小編整理的關于世界癲癇日是什么節日的介紹,希望可以給到大家一些參考,一起來了解下吧!世界癲癇日是一個通過全球性活動聯合各地組織加強抗擊癲癇運動,為各地抗癲癇組織提供募捐機會的節日。設立“世界癲癇日”是國際、國內癲癇學界和癲癇病患者及其照護者長期以來的愿望。目標是促進國際和政府層面以及公眾對癲癇病的關注。...