git仓库迁移

作者: IOneStar | 来源:发表于2018-01-12 19:16 被阅读223次

首次发表在个人博客

需求背景:

需要将原来放置gitlab的仓库迁移到新的gitlab,需要将所有分支和tag都迁移过去

实现方式

1.将代码从原有仓库中拉下来

git clone remote_git_address(remote_git_address为新服务器gitLab上新建的同名项目地址)

2.设置把本地gitlab地址替换成为集团gitlab地址

git remote set-url origin remote_git_address(remote_git_address为新服务器gitLab上新建的同名项目地址)

3.本地仓库推送到远程

git push origin --all 推送主干和分支

git push --tags 推送标签

相关知识

git checkout 用法

git checkout --orphan latest_branch

假如你的某个分支上,积累了无数次的提交,你也懒得去打理,打印出的log也让你无力吐槽,那么这个命令将是你的神器,它会基于当前所在分支新建一个赤裸裸的分支,没有任何的提交历史,但是当前分支的内容一一俱全
新建的分支,严格意义上说,还不是一个分支,因为HEAD指向的引用中没有commit值,只有在进行一次提交后,它才算得上真正的分支。

git remote用法

git remote -v 查看现有远程仓库的地址url

修改及添加远程地址

1.修改命令

git remote set-url origin <URL> 更换远程仓库地址,把<URL>更换为新的url地址

2.先删后加

git remote rm origin
git remote add origin remote_git_address(remote_git_address为新服务器gitLab上新建的同名项目地址)

3.直接修改配置文件

你可能想让你的代码拥有两个甚至更多远程仓库,
你可以再添加一个远程库: git remote add origin2; 这个方法很低效,因为你要git push 两次才能完成push到两个库

其实还有一个方法,git的一个远程库可以对应多个地址,即我能让远程库origin拥有多个url地址,方法如下:
首先,我们从零开始,
假设你现在想要增加3个远程库地址,分别为:
<url1>
<url2>
<url3>
首先,先增加第一个地址 git remote add origin <url1>
然后增加第二个地址 git remote set-url --add origin <url2>
增加第三个地址 git remote set-url --add origin <url3>
….依次类推

这样就完成了添加多个地址到origin库中了,
以后只要使用git push origin master 就可以一次性push到3各库里面了(使用git push也可)

原理解析
git remote set-url --add origin 就是往当前git项目的congig文件里增加一行记录
config文件打开方式有两种:

  • 使用命令 git config -e
  • 在当前git项目的根目录下,文件位于 .git/config (.git目录为隐藏文件)
    你每执行一次git remote set-url --add origin 就会增加一行,如下图:

git remote -v:显示当前所有远程库的详细信息,显示格式为 远程库名字 url连接(类型)


img

你直接在config里面直接添加url来修改也是可以的,不必去执行git命令

注意:

使用 git push origin master时,你可以push到origin的的多个url地址,
但是使用git pull 时,只能拉去origin里的一个url地址(即fetch-url,如上图),这个fetch-url默认为添加的到origin的第一个地址;
如果你想更改,只需要更改config文件里,那三个url的顺序即可,fetch-url会直接对应排行第一的那个utl连接。

参考

相关文章

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

    git仓库迁移和更新远程仓库地址 一、git仓库迁移 1,从原仓库clone或pull到本地仓库 git clon...

  • 迁移git仓库带来的权限问题--2019-08-22

    迁移git仓库带来的权限问题 今天迁移git仓库 第一步: 克隆旧仓库‘基本’版本 git clone --bar...

  • 使用 git push –mirror 迁移 Git 项目

    git仓库迁移的两种解决方案 Git仓库迁移而不丢失log的方法 要求能保留原先的commit记录,应该如何迁移呢...

  • git仓库的转移

    一、git仓库迁移 1,从原仓库clone或pull到本地仓库 git clone project_name ​【...

  • Git仓库迁移

    迁移Git仓库 使用场景:需要迁移某个git仓库到另一个不同的仓库 需要保留所有分支和历史提交 操作步骤 clon...

  • 迁移GIT仓库并带有历史提交记录

    迁移git仓库 开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不...

  • 2020-03-11 git项目迁移遇到的问题

    参考文章Git项目迁移做项目git的项目迁移,由于疏忽,把错误的代码迁移到当前git仓库了解决方法:1、重新找个目...

  • git仓库迁移

    1、从原地址克隆一份裸版本库,比如原本托管于github或oschina,或者是本地的私有仓库 $ git clo...

  • git仓库迁移

    1.上图是我在codingnet上新建的项目然后做的修改测试修改提交 2.下图是我在gitlab上新建的仓库地址项...

  • git仓库迁移

    有时候我们需要把一台Git服务器的项目迁移到另一台服务器,这时候我们还想把提交的记录也保留,需要怎么做呢?看一下步...

网友评论

    本文标题:git仓库迁移

    本文链接:https://www.haomeiwen.com/subject/crtqoxtx.html