vs網站畢業(yè)設計怎么做西安seo網絡推廣
結論: 使用git format-patch+git am即可實現(xiàn)
使用場景:
例如倉庫A這里有5個提交記錄,commitid1, commitid2, commitid3, commitid4,commitid5
倉庫B想用倉庫A中提交的代碼,手動改比較慢,當改動較多的時候容易漏掉某個文件,那就可以用format-patch+am
參考網站:
git format-patch
git am
如何用:
- 找到你想遷移的代碼commitid
比如:
情景1,我想要遷移commitid2以后的所有提交,那么需要用commid2
情景2,我想要遷移commitid2-commitid4的提交,那么需要記住commitid2和commitid4 - 在倉庫a中,運行
情景1 git format-patch commitid2 --output-directory filename 情景2 git format-patch commitid2..commitid4 --output-directory filename
(output-directory? 表示將補丁文件放在指定目錄而不是當前文件夾中)
( filename是放在倉庫A外面的某個空文件夾的url , 比如D盤的test文件夾,那就是D:/test)
結果:
在對應文件夾下生成多個補丁文件 -
然后倉庫B中執(zhí)行
?git am -3 filename/xxx.patch
(逐條執(zhí)行,這樣如果有沖突方便解決)
-
遇到沖突會顯示patch failed
執(zhí)行如下命令可以將沖突文件顯示出來git apply --reject filename/XXX.patch
比如一共改了四個文件a.jsx, b.jsx, c.json, d.js,
其中a, c文件有沖突, 那么當你執(zhí)行apply命令以后,
b.jsx和d.js最新改動會加入到git中,緊挨著a.jsx和c.json文件生成xxx.rej文件
打開xxx.rej文件,可以看到沖突的地方
這個時候就需要你手動去a,c文件中修改沖突
修改完
刪掉xxx.rej文件
然后執(zhí)行git am --resolved
git push
如果遇到下面這種問題
?可以執(zhí)行
git am --skip
然后重新? git am xxx 命令
?
當你結束git am? 別忘了退出git am狀態(tài)
???????git am --abort