GitLab上的项目迁移,实质上是更改远程仓库的url。我们在同一个用户下面迁移项目的时候可以更改项目的"project name"来实现项目的迁移。但当用户A的项目迁移到用户B的时候,可以在用户B下面新建一个项目,然后把项目A的文件拷贝过来,但是这种容易丢失commit的log记录。不想丢失commit log记录的话,可以用重置url的方法来实现。
1.首先查看UserA当前项目的remote url:
$ git remote -v
origin git@gitlab.linuxidc.net:UserA/ansible-playbook.git (fetch)
origin git@gitlab.linuxidc.net:UserA/ansible-playbook.git (push)
2.使用git remote set-url重置为UserB的远程仓库:
$ git remote set-url origin git@gitlab.linuxidc.net:UserB/ansible-playbook.git
3.确认重置成功:
$ git remote -v
origin git@gitlab.linuxidc.net:UserB/ansible-playbook.git (fetch)
origin git@gitlab.linuxidc.net:UserB/ansible-playbook.git (push)
4.git push强制更新:
确认remote url更新了之后,git push -f参数强制更新一下:
git push -fv
TroubleShooting:
在push的时候报错信息:
[remote rejected] master -> master (pre-receive hook declined)
这是因为gitlab默认的master分支是受保护的,需要取消保护之后才能push:
切到project的主页,打开设置“Protected Branches”,把网页下面master分钟unprotect即可。
GitHub 教程系列文章:
通过GitHub创建个人技术博客图文详解 http://www.linuxidc.com/Linux/2015-02/114121.htm
GitHub 使用教程图文详解 http://www.linuxidc.com/Linux/2014-09/106230.htm
使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署 http://www.linuxidc.com/Linux/2016-06/131993.htm
多个GitHub帐号的SSH key切换 http://www.linuxidc.com/Linux/2016-05/131080.htm
如何在同一台电脑上使用两个GitHub账户 http://www.linuxidc.com/Linux/2016-05/131079.htm
利用GitHub搭建个人Maven仓库 http://www.linuxidc.com/Linux/2016-04/130197.htm
一分钟认识GitHub http://www.linuxidc.com/Linux/2015-11/125089.htm
Debian 8 上安装 GitLab http://www.linuxidc.com/Linux/2016-12/137816.htm
分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm
GitHub使用操作指南 http://www.linuxidc.com/Linux/2016-10/135782.htm
GitHub 的详细介绍:请点这里
GitHub 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140784.htm