彻底解决 GitHub 拉取代码网速慢的问题
The following article is from 后端进阶 Author 张乘辉
点击上方"IT牧场",选择"设为星标"
技术干货每日送达!
本人重度依赖 GitHub,面向 GitHub 编程,GitHub 可以让我每天早上打开电脑,假装了解最新开源项目。
最近你们有没有发现,GitHub 明显变慢了,如果没有 fanqiang,拉取代码的速度简直惨不忍睹,如果拉取的量少还可以勉强拉下来,但是遇到数据量大的时候,2 KiB/s 的速度你能忍?拉到中途超时就让你痛不欲生。
最近我就遇到这个问题,seata 社区的 seata.github.io 仓库有阵子突然增加了好多数据,我发现我已经拉不下来了,这时可以利用 Gitee 作为中间代理,下面详细说说具体操作过程。
在 GitHub 中,一共有两个仓库:
seata:Github 的 Seata 主仓库为:https://github.com/seata/seata.github.io.git 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 远程仓库内容到本地。
这时候,我本地仓库就拥有了三个远程仓库了,分别是:
origin:码云仓库,该仓库可以从 seata 仓库中同步代码; objcoding:从 seata 仓库中 fork 的仓库; seata:seata 主仓库。
为什么这里还需要添加 seata 仓库呢?这是因为一般来说,seata 主仓库增加的代码数据量都很少,即使是 2Kib/s 的速度,也是可以拉取下来的,所以平时可以直接从 seata 主仓库中拉取最新代码就可以了,但是像 seata.github.io 仓库,突然某个大佬上传了几十兆数据,那么此时我就可以利用 Gitee 仓库去同步这些代码,具体操作如下:
接下来 fetch gitee 对应的分支,就可以将这些数据拉取下来了。
以上是整个同步过程分析。
干货分享
最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!
•001:《Java并发与高并发解决方案》学习笔记;•002:《深入JVM内核——原理、诊断与优化》学习笔记;•003:《Java面试宝典》•004:《Docker开源书》•005:《Kubernetes开源书》•006:《DDD速成(领域驱动设计速成)》•007:全部•008:加技术讨论群
近期热文
•瓜子二手车在 Dubbo 版本升级、多机房方案方面的思考和实践•Java12可用新特性一览•聊聊 Java 的几把 JVM 级锁•如何设计一个安全的对外接口?•SQL 性能优化梳理•垃圾回收-实战篇
想知道更多?长按/扫码关注我吧↓↓↓