资讯专栏INFORMATION COLUMN

git仓库迁移

hufeng / 1593人阅读

首次发表在个人博客
需求背景:

需要将原来放置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地址

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个远程库地址,分别为:



首先,先增加第一个地址 git remote add origin
然后增加第二个地址 git remote set-url --add origin
增加第三个地址 git remote set-url --add origin
….依次类推

这样就完成了添加多个地址到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连接(类型)

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

注意:

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

参考

gitlab project项目迁移

Git远程仓库 git remote

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92442.html

相关文章

  • Python学习之路19-设置应用程序的样式并对其进行部署

    摘要:删除的全部代码,并添加如下代码第行使用了的一个自定义模板标签,它让包含所有的样式文件。只修改了样式,并没有修改代码。 《Python编程:从入门到实践》笔记。本篇将对Django项目做最后的完善。本篇也是这本书的最后一篇。 1. 前言 在本篇中,我们将: 使用Bootstrap库设置样式; 把项目部署到Heroku上。 2. 设置项目学习笔记的样式 之前关注的都是项目的功能,现在来...

    陈伟 评论0 收藏0
  • 精读《Monorepo 的优势》

    摘要:引言本周精读的文章是。精读总的来说,虽然拆分子仓库拆分子包是进行项目隔离的天然方案,但当仓库内容出现关联时,没有任何一种调试方式比源码放在一起更高效。前端精读帮你筛选靠谱的内容。 1. 引言 本周精读的文章是 The many Benefits of Using a Monorepo。 现在介绍 Monorepo 的文章很多,可以分为如下几类:直接介绍 Lerna API 的;介绍如何...

    xcc3641 评论0 收藏0
  • 博客从WordPress迁移到Hexo

    摘要:既然对感觉不错,那为什么要把博客从迁移到上呢。可以参考此文档进去可以选择中文安装所有必备的应用程序安装完成后,即可使用安装。插件安装完成后,执行下列命令来迁移所有文章。部署代码到清除缓存文件和已生成的静态文件。 偶然的机会看到了Hexo,就深深被吸引了,加载速度快,支持Makedown,还支持部署到Github上。作为一位PHP程序员,之前的博客用的是PHP开发的WordPress,其...

    caspar 评论0 收藏0
  • 大公司是怎么发布静态资源的

    摘要:那大公司的静态资源是怎么发布的呢发布要求静态资源必须走如非自建,推荐又拍云,阿里云,七牛云。发布和问题发布流程如果我们把静态资源的实际访问域名设置为。功能开发结束后,开发人员把静态资源提交到测试环境仓库。业务业务都是使用同样的发布方案。 静态资源(Static Resources): js、css、img 等非服务器动态运行生成的文件。 在一般的网站中,静态资源使用频率高,流量占用大。...

    ad6623 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<