gitlab和gitlab專案遷移
阿新 • • 發佈:2020-07-24
一、概述
原gitlab
作業系統:centos 6.9 版本:GitLab 社群版 10.5.1 安裝方式:yum
新gitlab
作業系統:centos 7.6 版本:GitLab Community Edition 13.2.0 安裝方式:docker
現在需要將部分老的gitlab專案,遷移到新gitlab中。
由於版本跨度比較大,不能直接將原gitlab專案備份匯出,然後在新gitlab中匯入。
注意:只能使用git命令列進行遷移
二、遷移
以springbootdemo專案為例:
原gitlab地址:http://gitlab.baidu.com/java/springbootdemo.git新gitlab地址:http://gitlab.aliyun.com/java/springbootdemo.git
注意:新gitlab需要手動建立專案springbootdemo
執行以下命令:
# 拉取遠端所有分支 git clone --mirror http://gitlab.baidu.com/java/springbootdemo.git cd springbootdemo.git/ git config --bool core.bare false # 切換remote_url git remote set-url origin http://gitlab.aliyun.com/java/springbootdemo.git# 推送所有分支 git push --mirror origin
注意:http方式下載專案,會提示輸入使用者名稱和密碼。使用ssh方式就不需要了。
需要將本機的公鑰寫入到新gitlab中的git使用者中的authorized_keys
說明:
簡單使用git clone ,git fetch —all, git pull —all 都不能全部一次獲取遠端的所有分支,他們都只對master分支起作用,所以一次性拉取所有遠端分支到本地應該使用 git clone的—mirror引數,但是這樣會把它初始化為一個bare倉庫,所以需要去掉這個屬性
本文參考連結: