前言:用 gitLab 进行项目管理时,开发实践中进行项目迁移是常见的事情,也是作为一位开发者必备的技能。

一、方法一:从旧地址导出,然后新地址导入。

参考:gitlab导出导入迁移

二、方法二:git 命令迁移,可选择的迁移,选择迁移分支,选择迁移tags & commit 等

1. 把需要迁移的项目clone到本地,哪怕你本地有这个项目,也在新的文件夹下重新拉一下
git clone http://gitlab.xxoldxx
2. 进入上面clone之后的目录,然后添加新的远程主机地址,最好是个新的project,并且里面什么都没有
git remote add gitlab http://gitlab.xxxnewxxx
3. 推送master到新的仓库
git push -u gitlab master
  • 上面命令将本地的master分支推送到gitlab主机,同时指定gitlab为默认主机,后面就可以不加任何参数使用git push了。
  • 如果报错 A default branch (e.g. master) does not yet exist for xxx,可能是你的角色是Developer会权限不足,叫管理员开权限即可。
4. 选择推送你保留的分支
  • 推送前先用git branch -a查看所有远程分支,然后分别checkout你要迁移的分支到本地;如果没有步骤1中的重新 git clone,用了旧的就在步骤2之前将各个分支,git pull 更新一下,保证本地是最新的。
git checkout -b dev origin/dev
  • 这一步是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支;master分支已经被推送到新的仓库,因此不需要执行这一步。
  • 最后执行命令推送全部分支
git push --all gitlab
5. 推送所有Tag
git push gitlab --tags

参考:gitlab项目迁移Gitlab项目迁移
问题:GitLab 推送代码提示 A default branch (e.g. master) does not yet exist for xx/xx

更多推荐