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 新建项目的仓库地址git@gitlab.net:groupname/projectname.git
添加远程git库
git remote add origin git@gitlab.net:groupname/projectname.git
提交代码到git库
git push -u origin master
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容