[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」復原變更。
留言
張貼留言