方式一:命令行迁移
完整的迁移git仓库,有利于后期的维护,因为git仓库里面包含了项目的各个分支,提交历史等
操作
克隆
从原地址(老仓库)克隆一份裸版本库
# 老仓库地址
git clone --bare https://github.com/username/project.git
然后到Git上创建一个新项目 名叫: newproject.git
推送
以镜像推送的方式上传代码到新的项目中
# 老项目地址
cd project.git
# 新仓库地址
git push --mirror https://github.com/username/newproject.git
完成迁移
完成了迁移,使用和平时用法一致
项目迁移成功之后,可以不用git clone,直接在旧的项目终端输入一条命令,本地代码的地址就会变成新代码的地址
git remote set-url origin https://github.com/username/newproject.git
备注说明:以命令行迁移方法暂时还不能将项目中的issues迁移过来,其他分支和提交记录都能正常迁移,如果需要将issues也正常迁移,需要使用下面的导出/导入迁移方法。
方式二:导出/导入迁移的方法【推荐】
旧项目导出
第一步:进入需要旧项目库的gitlab,进入项目仓库拉到最下面找到设置然后选择通用-高级(展开)-点击【导出项目】
下载导出
第二步:等待项目的导出,会看到如下一个提示。
说明:等待一会就可以刷新当前页面就会出现下载导出(不需要一直等待链接发送到电子邮件,有可能一直都等不到结果)
新项目导入
第三步:将导出的项目导入到新的gitlab服务器上
如图所示,issues和提交记录都正常迁移到新仓库
至此,项目的迁移完成。提交的记录也会同步导入过来的
注意(可能存在的坑)使用gitlab域名地址导入比较大的项目的时候,会有nginx限制大小报错,最后在新的ip+端口的地址上导入正常~