github代码clone加速
本文最后更新于:2021年6月15日 晚上
这阵子想看看开源项目 MyBatis 的源码,结果使用 git 的 clone 命令怎么也 clone 不下来,我以为是网速慢,上 Google 一搜,原来 Github 的域名被 DNS 污染了,我说呢怎么访问 Github 一直都很慢,知道了问题原因就解决掉这个恶心的问题
再再更新
安装油猴以及加速脚本
油猴安装: https://www.tampermonkey.net/
直接访问GitHub查看效果。如下图
与上一次同理,这次也使用的是反向代理达到加速的目的,只不过这次使用的域名非笔者提供的。使用方法:https://github.com.cnpmjs.org/用户名/仓库名
如:https://github.com.cnpmjs.org/apache/skywalking
,则clone地址为:http://github-mirror.bugkiller.org/apache/skywalking.git
再次更新
发现另外一种方式可以实现加速的方式,即通过一台服务器(可以是非国外服务器)通过nginx反向代理GitHub,然后直接访问代理后的地址即可。这种方式适合下载代码的zip包或者仓库里的releases文件,比如https://xxxx.domain.com/Mosiki/github/archive/master.zip
。
具体反向代理的配置读者可以自行查找教程。
这里给出免费的服务,但是每日会有上限限制,可能会出现无法使用的情况,读者最好自己搭建代理服务。
1 |
|
可以参考 此文章 自行搭建代理服务
更新一下
2019年09月03日更新:
最近发现用 hosts 方式不太好使了,如果改 hosts 的方式也不起作用的话,可以使用这个绝招了。
步骤一:fork 你想要 clone 的库
步骤二:登录码云,登录成功后,点击网页右上角加号,选择 从 GitHub 导入仓库
这个过程码云会让你去 GitHub 授权拉取你的仓库,选择同意就行了。
步骤三:找到你在 GitHub 中 fork 的仓库选择导入,等待一会儿就行了,如果仓库较大,可能导入会花一些时间。
步骤四:使用码云的地址进行 clone 即可,国内的速度还是非常快的!
备注:此方法只适用于临时下载仓库,如果要是提 PR 什么的,还是使用改 hosts 方法或者走代理的方式吧。
2019年06月16日更新一下:
看评论有人说不好使,我在 mac 上本地测试了一下(未开启全局代理),红框之上是未指定 hosts 的结果,速度很慢,平均不到 50k/s 的速度,红框内是切换到最新 host 之后的结果,速度一直在增加,达到 3.25MB/s,效果显而易见。
Tips: 如果切换到最新 hosts 后还是很慢,可以重新开一个终端尝试,或者断开再重连一下网络,可能是 hosts 还未生效。(switch hosts 在 win 下需要使用管理员身份打开,mac 下需要输入开机密码获得权限)
加速访问
在网上搜索一圈,好多文章中提速的方法就是修改 git 的代理配置,前提是有 SS 之类的{代}{理}工具,然而我开了全局{代}{理},设置了 git 的代理配置,clone 的速度还是很慢,只能到 30kb/s,如果库大点,下个几天几夜都可能😅
设置代理不好使,就继续搜索解决方法,在 github 上找到一个 issues,其中提供了 github 的 host列表。
随着 issue 找到了一个生成 hosts 的 repo,但是这个 repo 的 hosts 并不是每日更新的,于是自己 fork 了一份,写了个简单 crontab,每日执行生成更新 hosts 文件。
仓库地址:**https://github.com/Mosiki/github**
食用方法
最麻烦的方式就是去手动修改 host 文件,最简单的方式就是下载 Switch Host 软件进行 host 修改,跨平台,因为 hosts 文件每日都会自动更新,所以需要本地的 hosts 也能自动更新, 好在 SwitchHosts 提供了远程 hosts 的功能。
复制如下 hosts 地址(测试发现GitHub的网址有可能访问不了,因而更换成了码云的镜像仓库地址)
1
https://gitee.com/Mosiki/github/raw/master/github_hosts.txt
新增远程 hosts
笔者在 mac 下操作,win 是同理。设置自动更新
选择 24 小时即可,第一次添加的时候需要手动点击刷新按钮,刷新获取一下远程的 hosts
更新完成之后点击确定保存即可。打开 hosts 开关
如图设置完,把开关打开就 Ok 了。
测试Clone速度
由 30kb/s 变成 4M/s 了 😂
修改后,在 GitHub 的 release 中下载东西也变快了。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!