当前位置:   article > 正文

彻底解决 GitHub 拉取代码网速慢的问题

github网络那么差怎么拉取项目

本人重度依赖 GitHub,面向 GitHub 编程,GitHub 可以让我每天早上打开电脑,假装了解最新开源项目。

最近你们有没有发现,GitHub 明显变慢了,如果没有 fanqiang,拉取代码的速度简直惨不忍睹,如果拉取的量少还可以勉强拉下来,但是遇到数据量大的时候,2 KiB/s 的速度你能忍?拉到中途超时就让你痛不欲生。

最近我就遇到这个问题,seata 社区的 seata.github.io 仓库有阵子突然增加了好多数据,我发现我已经拉不下来了,这时可以利用 Gitee 作为中间代理,下面详细说说具体操作过程。

在 GitHub 中,一共有两个仓库:

  1. seata:Github 的 Seata 主仓库为:https://github.com/seata/seata.github.io.git

  2. objcoding:我从 Seata 主仓库中 fork 过来一个仓库,地址为:https://github.com/objcoding/seata.github.io.git

以下内容将用 seat、objcoding 表示这两个仓库。

Gitee 创建仓库时,可以导入已有仓库时选择从 GitHub 仓库中导入,这时我们填写 Seata 主仓库地址,意味着 Gitee 仓库将可以从 Seata 主仓库中同步代码 :

将 Gitee 仓库 clone 到本地(此时仓库名称默认 origin):

git clone https://gitee.com/objcoding/seata.github.io.git

这个速度快到我想哭,你能想象GitHub 2 KiB/s 的悲惨人生么。

添加 objcoding 远程仓库:

git remote add objcoding https://github.com/objcoding/seata.github.io.git

fetch objcoding 远程仓库内容到本地:

速度很快,因为远程仓库中的绝大部分代码,已经从 gitee 拉取下来了。

添加 seata 远程仓库:

git remote add seata https://github.com/seata/seata.github.io.git

同理,fetch seata 远程仓库内容到本地。

这时候,我本地仓库就拥有了三个远程仓库了,分别是:

  1. origin:码云仓库,该仓库可以从 seata 仓库中同步代码;

  2. objcoding:从 seata 仓库中 fork 的仓库;

  3. seata:seata 主仓库。

为什么这里还需要添加 seata 仓库呢?这是因为一般来说,seata 主仓库增加的代码数据量都很少,即使是 2Kib/s 的速度,也是可以拉取下来的,所以平时可以直接从 seata 主仓库中拉取最新代码就可以了,但是像 seata.github.io 仓库,突然某个大佬上传了几十兆数据,那么此时我就可以利用 Gitee 仓库去同步这些代码,具体操作如下:

接下来 fetch gitee 对应的分支,就可以将这些数据拉取下来了。

以上是整个同步过程分析。

END

Java面试题专栏

【40期】说一下线程池内部工作原理

【39期】Mybatis面试18问,你想知道的都在这里了!

【38期】一份tcp、http面试指南,常考点都给你了

【37期】请你详细说说类加载流程,类加载机制及自定义类加载器

【36期】说说 如何停止一个正在运行的线程?

【35期】谈谈你对Java线程之间通信方式的理解

【34期】谈谈为什么要拆分数据库?有哪些方法?

【33期】分别谈谈联合索引生效和失效的条件

【32期】你知道Redis的字符串是怎么实现的吗?

【31期】了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?应对措施是什么


欢迎长按下图关注公众号后端技术精选

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/787835
推荐阅读
相关标签
  

闽ICP备14008679号