GitLab远程仓库迁移

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

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

$ git remote -v
origin 	[email protected]:UserA/ansible-playbook.git (fetch)
origin 	[email protected]:UserA/ansible-playbook.git (push)

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

$ git remote set-url origin [email protected]:UserB/ansible-playbook.git

3.确认重置成功:

$ git remote -v
origin 	[email protected]:UserB/ansible-playbook.git (fetch)
origin 	[email protected]: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即可。

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

时间: 2024-10-13 00:57:14

GitLab远程仓库迁移的相关文章

Git连接GitLab远程仓库

1.简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github.gitlab等.为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab. 本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式. HTTP方式:这种方式要求project在创建的时候只能选择"Public"公开状态,Private和Internal私有模式下不能使用http方式进行连接,如果考虑到安全性必须进行安全设置.SSH方

gitlab仓库迁移

有的时候我们需要对gitlab上的代码进行迁移,希望在迁移后能保持原有的branch.tag.commit记录等.可以使用以下方式: 1.首先需要将项目fork到自己的仓库,否则提交到新仓库的时候需要输入之前gitlab账户的密码. 2.clone代码到本地. 3.修改remote仓库的地址,添加新的地址. vim .git/config [remote "origin"] url = [email protected]:xxx/xxx.git [remote "new&qu

git仓库迁移和更新远程仓库地址

一.git仓库迁移 1,从原仓库clone或pull到本地仓库 git clone project_name ?[old_remote_repository_address] 2,?在新的git创建一个新仓库.如果用gitolite搭建的git服务器,那么只需要在配置文件gitolite.conf上添加仓库和用户,然后push到服务器即可. 3,进入clone下来的本地仓库目录,将远程仓库地址修改为新的远程仓库地址 project_name> git remote remove origin p

【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库

[Gitlab]GIT回滚master分支到指定tag版本 并提交远程仓库1 查看分支git branch 2 切换到master分支git checkout master 3 查看标签git tagv1.3.3v1.3.4v1.3.5 4 查看某个标签的详情git show v1.3.5commit fb479960c0cec5549463ae123d70bdd72ccf6be7 5 通过commit id回退git reset --hard fb479960c0cec5549463ae123

通过SSH克隆远程仓库(GitLab)到本地

由于不是任何用户都能从远程仓库克隆到本地的,也是需要鉴别的,因此本地需要用git bash 创建一个公钥,而远程仓库也要把这个公钥保存下来,进而本地才可以从远程download.主要步骤如下: 1.首先需要下载一个git for windows,成功安装. 2.在github或者gitlab上有自己的账户. 3.打开git bash.exe  输入ssh-keygen -t rsa -C "[email protected]" 使用你的邮箱用ssh-keygen命令创建密码对.注意ss

git从远程仓库gitLab上拉取指定分支到本地仓库

https://blog.csdn.net/qq_40973353/article/details/80682891 例如:将gitLab 上的dev分支拉取到本地 1>与远程仓库建立连接:git remote add origin XXXXX.git 2>使用git branch 查看本地是否具有dev分支 3>如果没有 git fetch origin dev 4>git checkout -b dev origin/dev在本地创建分支dev并切换到该分支 5>git

Git 之四 通信协议(HTTPS、SSH、Git)、使用远程仓库(GitHub、GitLab、Gitee等)

写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网资料是最全面的!如果有任何疑问,可以去官网看看! 协议   Git 通常也会有个远程仓库.用来协调各个参与者的工作!这与上一代集中式版本控制系统的作用基本类似.一个远程仓库通常只是一个裸仓库(bare repository),即一个没有当前工作目录的仓库. 因为该仓库仅仅作为合作媒介,不需要从磁盘检

gitLab本地推送到远程仓库的命令

如果git remote add origin时提示说在远程仓库有origin了,可以选择git remote rm origin或者换个其他任意的字符串.

git学习(1)--- 初始一个本地仓库并添加一个新的远程仓库

初始化一个本地仓库,只要使用git init命令就可,这样就会在当前目录生成一个.git目录,其中就保存了git仓库的信息 接下来想为本地仓库添加一个远程仓库,可以使用git remote add 命令来操作,但首先得先有一个远程仓库的连接,现在我就自己搭建的一个gitlab做实验. gitlab上创建的仓库如下: 使用那个gitlab上的远程仓库路径在本地操作如下 这样就为本地的项目添加了一个远程仓库了. 可以用git remote 或 git remote -v  来列出远程仓库信息如图 现