之前git都是全新項目上傳,沒有遷移過,因為遷移的話要考慮已有項目上的分支都要遷移過去,提交記錄能遷移就好;分支如果按照全新項目上傳的方式需要新git手動創建好老git已有分支,在手動一個一個克隆老項目分支代碼依次提交、分支多了很麻煩!
通過查找git遷移資料發現git有遷移項目所有分支、和提交記錄的方法,記錄下以便下次使用。
我是從gitlab遷移到gitbit,不同類型的git遷移都適用。
1.新git下先創建好空項目
我這邊新git是gitblit,直接web可視化窗口創建,創建時允許建立分支勾上、加入readme 、加入.gitignore文件不能勾上,創建后記錄下新git 項目倉庫地址
http://新git地址/pesgit/r/BSWHSS4.1/cytj.git
2.克隆舊git倉庫下需要遷移的項目
臨時新建一個文件夾,右鍵打開 git bash here 指令窗口
使用 --mirror 選項會克隆所有分支、標簽和遠程信息
git clone --mirror https://舊git地址/bs-whss/bs-whss4.1.git
克隆指令執行成功后會生成bs-whss4.1.git文件夾,結構如下
3.添加項目遠程倉庫為新git的項目倉庫地址
繼續在上面的指令窗口執行
# bs-whss4.1.git對應上面的git項目名稱
cd bs-whss4.1.git
#然后,添加新git的項目倉庫地址作為新的遠程目標,這里的gitblit自定義命名,下面的指令會使用到
git remote add gitblit http://新git地址/pesgit/r/BSWHSS4.1/cytj.git
4.推送所有分支和標簽到新git項目倉庫
使用以下命令將所有分支和標簽推送到新git項目倉庫,依次執行以下命令
# 推送所有分支
git push gitblit --all# 推送所有標簽
git push gitblit --tags
#強制推送
git push gitblit --all --force
5.驗證遷移
5.1登錄新的git倉庫,查看項目遷移情況,查看分支是否完全,老git項目提交記錄也遷移了
5.2 idea里重定向到新的git倉庫地址,抽取兩個分支隨意提交文件測試能否提交成功
驗證提交成功