Github克隆加速
因为各种各样的奇葩原因,在国内克隆来自Github的仓库或者下载Github上的文件时,速度都非常的慢,常常让我有种想打人的冲动,为了解决这个问题,我寻找了很久的解决方案,现在将方案记录下来:
一、借助Gitee
是的,我所搜集到的第一种解决方案就是这个被大量的博文介绍过的码云平台。
作为国内知名的基于Git的代码托管平台,由开源中国社区于2013年推出。因为其服务器位于国内,且提供根据URL创建镜像仓库的服务,所以被部分国内Git用户用作克隆GitHub/GitLab上仓库的中转站(具体操作参照尾部分享链接)。但是,Github上作者发布的Release文件是不会随仓库克隆过来的,所以对需要下载Release文件的网友来说,这种方法是不适用的。
但也因此,Gitee上堆积了大量克隆自github或者gitlab上仓库的老旧版本(因为很多人克隆到本地之后就不再管了),所以在这里给看到这篇帖子的网友们提个建议,在使用Gitee中转之前,现在Gitee上搜索你需要的仓库是否存在,如果有的话建议直接用现成的。或许是因为Gitee的服务器存在不小的网络负载,在导入外部仓库时偶尔会很慢,所以紧急情况下如果Gitee上没有现成的仓库不建议使用Gitee中转。
另外,Gitee官方自己克隆了一万多个仓库提供镜像下载服务,都在码云极速下载下面。遗憾的是,由国人开发的神奇的emacs插件emacs-application-framework在Gitee上没有仓库也没有镜像,因此我自己从github同步了一份EAF,会不定期更新,有需要最新版的的可以在博客下面评论或者直接发邮件催更,邮箱地址在仓库简介上有,发评论平台也会发邮件给我。
二、修改主机hosts文件
hosts文件是电脑访问网络时DNS解析的第一站,据网友所说,Github克隆慢甚至失败有中国国内DNS污染严重的因素在其中,所以手动指定github相关网站的域名解析结果会对提升克隆/下载速度有所提升。
实际测试中,我使用的来自于googlehosts的DNS数据并没有让下载速度有显著提升,其他hosts数据还未尝试,不过有网友告诉我,他在修改hosts文件后下载速度明显变快了。
三、借助代理
既然直连Github速度太慢,使用一个够快的代理或许能解决问题,Fastgit就是一个免费提供Github代理的网站。
从Fastgit的github仓库内容来看,他们是在服务器上部署了nginx服务,对Github的https服务进行反向代理,从而达到克隆/下载加速的效果。使用方式参照官方指南。另外Fastgit提供了一个油猴插件,可以在Github的页面中添加一下元素,方便使用,使用者请自行探索。
当然,你也可以使用合法靠谱的网络代理服务,并设置好git的代理项,也可以解决这个问题。
四、相关链接
搜集过程中看到过不少方案,以上三种是我自己试过的,以下贴出两个看过的博客,以供参考:
- 一招搞定Github下载加速——CodeSheep(借助Gitee)
- GitHub 下载加速——不死鸟(多种方案)