之前因?yàn)槟承┰蛎ブ伲诖a云gitee創(chuàng)建了一些項(xiàng)目,無(wú)奈到后來(lái)發(fā)覺(jué)碼云生態(tài)活躍度還是不能和github比的得糜,于是打算把項(xiàng)目遷移到github上敬扛。
但是項(xiàng)目遷移卻遇到了問(wèn)題,碼云支持從Github導(dǎo)入,Github卻不支持碼云的導(dǎo)入朝抖。無(wú)奈之下舔哪,打算走野路子試一下,沒(méi)想到居然成功了槽棍。
下面是我的方法:
1.首先在github上創(chuàng)建一個(gè)新項(xiàng)目捉蚤,如名為 Test,并克隆到本地
2.把碼云上的需要遷移的項(xiàng)目拉下來(lái)缆巧,假設(shè)為名為 HelloWorld
3.把HelloWorld中的所有文件(除了.git文件夾),覆蓋粘貼到Test中
4.此時(shí)應(yīng)該只剩下兩個(gè).git文件夾的差異了豌拙,其他東西完全一樣
以下要小心操作
5.用sublime或其他編輯器 在HelloWorld的.git文件夾中搜索中的碼云倉(cāng)庫(kù)地址假設(shè)是 gitee.com/xxxx/HelloWorld.git陕悬,暫時(shí)記錄一下這些文件的位置
6.在HahaTest中同樣操作第5步,但是這次要找的是 github 地址按傅,如:github.com/xxxx/HahaTest.git 捉超,暫時(shí)記錄一下文件位置
7.對(duì)比5 、6的文件位置你會(huì)發(fā)覺(jué)唯绍,位置基本是一致的(有三四個(gè)地方拼岳,下面是其中一個(gè))
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://gitee.com/xxx/HelloWorld.git <--- 這個(gè)位置地址換一下
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
8.這時(shí),把gitee項(xiàng)目的.git 文件夾况芒,整個(gè)強(qiáng)復(fù)制覆蓋到github項(xiàng)目這邊惜纸,然后把剛才5記錄的gitee碼云的.git地址,全部替換成github .git地址
9.用小烏龜或者sourcetree等git工具,在git項(xiàng)目中pull一下線上倉(cāng)庫(kù)耐版,理論應(yīng)該有history記錄沖突祠够,解決沖突,以本地最新為準(zhǔn)粪牲,然后打個(gè)commit
10.大功告成古瓤,這時(shí)候,就連之前commit都能保留下來(lái)了腺阳,基本算是比較完整地完成了從碼云到github的項(xiàng)目遷移