共计 1618 个字符,预计需要花费 5 分钟才能阅读完成。
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