GitLab远程仓库迁移

简介:

  GitLab上的项目迁移,实质上是更改远程仓库的url。我们在同一个用户下面迁移项目的时候可以更改项目的"project name"来实现项目的迁移。但当用户A的项目迁移到用户B的时候,可以在用户B下面新建一个项目,然后把项目A的文件拷贝过来,但是这种容易丢失commit的log记录。不想丢失commit log记录的话,可以用重置url的方法来实现。

1.首先查看UserA当前项目的remote url:

1
2
3
$ git remote - v
origin     git@gitlab.xxx.net:UserA /ansible-playbook .git (fetch)
origin     git@gitlab.xxx.net:UserA /ansible-playbook .git (push)

2.使用git remote set-url重置为UserB的远程仓库:

1
$ git remote  set -url origin git@gitlab.xxx.net:UserB /ansible-playbook .git

3.确认重置成功:

1
2
3
$ git remote - v
origin     git@gitlab.xxx.net:UserB /ansible-playbook .git (fetch)
origin     git@gitlab.xxx.net:UserB /ansible-playbook .git (push)

4.git push强制更新:

确认remote url更新了之后,git push -f参数强制更新一下:

1
git push -fv

TroubleShooting:

在push的时候报错信息:

1
[remote rejected] master -> master (pre-receive hook declined)

这是因为gitlab默认的master分支是受保护的,需要取消保护之后才能push:

切到project的主页,打开设置“Protected Branches”,把网页下面master分钟unprotect即可。

wKioL1f4yBySHWm9AADvMFlukHc458.png-wh_50

wKiom1f4yB3wDvwQAADLEJPelvQ461.png-wh_50

参考链接:https://help.github.com/articles/changing-a-remote-s-url/




      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1859493,如需转载请自行联系原作者







相关文章
|
3月前
gitlab迁移后报错OpenL::cipher::CipherError
gitlab迁移后报错OpenL::cipher::CipherError
116 0
|
开发工具 git
Gitlab/GitHub:迁移代码,并保留历史记录
Gitlab/GitHub:迁移代码,并保留历史记录
663 0
Gitlab/GitHub:迁移代码,并保留历史记录
|
6天前
|
jenkins 持续交付 开发工具
【gitlab】旧的gitlab项目迁移新的gitlab
【gitlab】旧的gitlab项目迁移新的gitlab
35 0
|
4月前
|
网络安全 开发工具 数据安全/隐私保护
Git - 记一次完整的新旧Gitlab迁移
Git - 记一次完整的新旧Gitlab迁移
185 0
|
弹性计算 Shell Linux
Docker 中 Gitlab 数据的备份和迁移
备份gitlab数据,并进行迁移恢复
2063 0
Docker 中 Gitlab 数据的备份和迁移
|
传感器 安全 Devops
ARM 开源项目从 GitHub 迁移至 GitLab,ARM 内核团队:GitLab 真香!
5 月 17 日,根据 GitLab 在新闻稿中表示,“Arm Open Source 已决定将公司的多个开源项目从 GitHub 迁移到 GitLab”。
304 0
|
Java 开发工具 git
Gitlab/GitHub:迁移代码,并保留历史记录
Gitlab/GitHub:迁移代码,并保留历史记录
1794 0
Gitlab/GitHub:迁移代码,并保留历史记录