前言
本人所在單位由于歷史原因魁蒜,目前開(kāi)發(fā)團(tuán)隊(duì)搭建了兩個(gè) Gitlab 代碼托管平臺(tái),且處于兩個(gè)物理隔離的網(wǎng)段...
近期領(lǐng)導(dǎo)提出要統(tǒng)一 Gitlab ,目前剩余的團(tuán)隊(duì)需做遷移...
Gitlab 上的項(xiàng)目代碼同樣需要轉(zhuǎn)到新的 Gitlab 上陆赋,且需保持提交記錄轧膘、分支败富、tag等完整
操作步驟
準(zhǔn)備工作
假設(shè)原 Gitlab 地址為180.XX.XX.XX
新的 Gitlab 地址為172.XX.XX.XX
這里以在180.XX.XX.XX 上的一個(gè) ratel 項(xiàng)目為例說(shuō)明
未遷移前,項(xiàng)目概況如下:
第一步:原倉(cāng)庫(kù)克隆裸版本庫(kù)
在 Git bash 命令行輸入以下命令
git clone --bare http://180.XX.XX.XX/java/ratel.git # 原 Gitlab 倉(cāng)庫(kù)地址
這個(gè)命令就是把項(xiàng)目導(dǎo)出成一個(gè)裸鏡像
第二步:在新的 Gitlab 上創(chuàng)建項(xiàng)目
此處略去
第三步:推送鏡像到新倉(cāng)庫(kù)
在 Git bash 命令行輸入以下命令
git push --mirror http://172.XX.XX.XX/zy/ratel.git # 新倉(cāng)庫(kù)地址
在 Gitlab 項(xiàng)目詳情頁(yè)面刷新拢锹,可看到分鐘谣妻、tag 及相關(guān) commit 記錄以及全部同步過(guò)來(lái)了
第四步:更新本地倉(cāng)庫(kù)中遠(yuǎn)程倉(cāng)庫(kù)地址
這個(gè)時(shí)候我們的電腦也一般會(huì)切換網(wǎng)段,需要在本地的工程目錄下更新遠(yuǎn)程倉(cāng)庫(kù)地址卒稳,在 Git Bash 端進(jìn)入到項(xiàng)目工程目錄蹋半,輸入以下命
令
git remote set-url origin http://172.XX.XX.XX/zy/ratel.git # 新倉(cāng)庫(kù)地址
說(shuō)明
這種方式僅僅適合少量的項(xiàng)目,如果是整個(gè)倉(cāng)庫(kù)貨較大工程遷移充坑,建議還是后臺(tái)拷貝數(shù)據(jù)目錄的方式