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