假定Gitlab已經安裝, 假定要遷移的Git項目目錄為 demo
首先在Gitlab里創建一個新的project, 名稱為demo (或者其他名稱都可以)
然后在現有的Git項目目錄下, 進行以下操作
# 確保代碼更新到最新 git pull # 查看當前遠程git服務器上的所有分支, 這一步是用於判斷哪些分支需要遷移 git branch -r # 將本地git的舊orgin改成別的名稱 git remote rename origin origin-old # 將gitlab的git服務設為新的origin git remote add origin http://192.168.11.22/some_group/demo.git # 如果需要遷移的branch在本地還不存在, 將其checkout出來 # 如果已經存在了, 就checkout過去, 然后git pull一下確保是最新 git checkout -b branch-104 origin-old/branch-104 # 將本地的所有分支push到gitlab git push -u origin --all
這樣就可以把git這些分支的歷史都提交到gitlab上. 以上操作不涉及tag的遷移. -u參數即 --set-upstream, 將設置每個成功push的分支的upstream為origin, 這樣以后在執行git pull之類的命令時, 直接會從origin這個remote拖取.
如果要刪除舊的origin-old, 可以使用 git remote rm 命令
git remote rm origin-old
如果需要直接修改origin的地址, 用 git remote set-url origin [地址] 命令
如果保留舊的origin-old, 可以作為兩個鏡像倉庫, 代碼分別提交或同步
git pull origin master git push origin master git pull origin-old master git push origin-old master