GitLab仓库迁移

通过镜像的方式迁移(可以保证所有分支及主干历史commit得到保留)

确保该用户账号下所有分支及主干都有操作的权限

克隆老项目的镜像

git clone --mirror old.git (old.git 为老项目的git地址)

进入项目目录

cd old.git

老项目的地址替换成新项目

git remote set-url --push origin new.git (new.git 为新项目的git地址)

将镜像推到远程

git push --mirror new.git (new.git 为新项目的git地址)

批量迁移(使用shell脚本)

  • 新建一个文件用于需要迁移的项目名称及路径
  • 编写脚本用与批量处理git镜像命令
#/bin/bash
cat a.txt | while read line
do
   echo $line
git clone --mirror old.git(旧的仓库地址路径这里只需要根路径,从文件读取项目名称即可)/$line
cd $line 
git remote set-url --push origin new.git(新仓库路径)/$line
git push --mirror new.git(新仓库路径)/$line
cd ..
done

svn迁移gitlab (可以保证主干历史commit得到保留)

拉取svn代码到本地
git svn clone svn仓库地址 --no-metadata
cd 工程名称
获取gitlab 新建项目的仓库地址[email protected]:groupname/projectname.git
添加远程git库
git remote add origin [email protected]:groupname/projectname.git
提交代码到git库
git push -u origin master

你可能感兴趣的:(GitLab仓库迁移)