[Git]Git am *.patch

 實作:

(1)說明:

目前我有一個 「repo A」(目前的遠端版本)跟一個「repo B」(源自於「repo A」,後續有再做commit,但一直沒有push到遠端上)。

(2)需求:

要將「repo B」的所有commit同步至「repo A」,並且push到遠端上

1.生成所需的patch檔(參考)

這邊我採用「git format-patch [commit-id]」(生成某次commit(不含此次)之後的所有commit)來取得patch檔。

*在「repo B」路徑點擊右鍵(選取 Git Bash Here)=>輸入指令「git format-patch [commit-id],在此目錄下生成patch檔。


2.將這些patch檔移至某個資料夾內(範例這邊我是移至「patch-directory」)


3.在 「repo A」shift+右鍵開啟 「 Git Bash Here」=>輸入「Git am *.patch」指令

ps:這邊有幾個坑
(1)請記得一定要用shift+右鍵開啟 「 Git Bash Here」,不然會有權限問題,無法訪問目錄。
(2)請確定是否有包含目前「repo A」節點後所有commit的patch檔案,不然會顯示找不到檔案的錯誤訊息。
(3)只要有錯誤發生最好都先下「git am --abort」復原變更。




留言

這個網誌中的熱門文章

[Visual Studio]位於網際網路或是限制區域上 或是檔案上標有 web 字樣 所以無法處理該檔案。若希望處理這些檔案 請移除 web 字樣。

[IIS] IIS執行時,發生拒絕存取路徑 問題

[windows] xcopy 備份至 「網路磁碟機」