解决GitHub下载速度太慢问题的方法汇总(持续更新,建议收藏)

简介: 解决GitHub下载速度太慢问题的方法汇总(持续更新,建议收藏)

前言


Github上下载仓库或者克隆仓库,速度基本稳定在 20k 以下,当克隆一些大的仓库时,以这乌龟速度,很容易出现克隆超时的错误,等了几十分钟的下载一夜回到解放前,那种感觉我猜各位或多或少都经历过。本博客汇总了几种亲测可用的方案,很大地提升下载速度,一个大的仓库一分钟左右就可以搞定,也会持续的更新一些可用新方法,希望对你有帮助。

以下方案均来自网络的分享,我只是做整理推荐。感谢那些无私的程序员们。


一、使用 git clone --depth=1 来下载


如果是文件本身过大的话,可以考虑使用:

git clone https://github.com/xxx --depth 1

https://github.com/xxx 是指定要克隆的远程代码仓库的 URL。–depth 1 参数表示只克隆最新的一次提交(默认主分支),而不是完整地克隆整个代码仓库的历史记录。这可以减少下载的数据量,加快克隆操作。

如果我们想只克隆某个指定分支的最近一次 commit,可以使用下面命令:

git clone  https://github.com/xxx --depth=1  --branch=xx_branch

用 git clone --depth=1 的好处是限制 clone 的深度,不会下载 Git 协作的历史记录,这样可以大大加快克隆的速度。depth 用于指定克隆深度,为 1 即表示只克隆最近一次 commit。

适合用 git clone --depth=1 的场景:你只是想 clone 最新版本来使用或学习,而不是参与整个项目的开发工作。

git clone --depth=1 后拉取其他分支的方法

cd xxx
git fetch --unshallow

这个命令用于将浅克隆(shallow clone)的代码仓库转换为完整克隆(full clone)。在浅克隆中,只克隆了最新的一次提交,而没有完整的历史记录。git fetch 命令用于从远程代码仓库获取最新的提交和分支信息。–unshallow 参数告诉 Git 将浅克隆转换为完整克隆,获取完整的历史记录。执行这个命令后,你将能够访问和操作完整的代码仓库。


二、修改host文件解决


大型网站服务器都不会是只有一台服务器,而是多台服务器组成的集群一起对外提供服务。

使用站长工具测速,找一个速度比较快的服务器。

然后,把刚才查到最快的 IP 地址和 Github 域名的字符串放在 hosts 文件最后,Mac 在 /etc/hosts 中,Windows 在 C:\Windows\System32\drivers\etc\hosts 中。

如本人本电脑查到最快的 IP 地址为:140.82.121.4(不同地方速度不同,以个人情况为准)。

最后,刷新 DNS 缓存使增加的映射生效。Mac 刷新 DNS 缓存,在终端输入 sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder,Windows 刷新 DNS 缓存,cmd 命令窗口执行 ipconfig /flushdns

执行完这些后,你会发现速度明显快了很多。


三、谷歌浏览器插件加速


为你的浏览器,安装一个插件【Github 加速】。

安装成功后,打开 Github 会看到如下界面,多了一个加速按钮和加速地址。


四、油猴插件和脚本


为你的浏览器,安装一个插件【Tampermonkey】。

然后安装 Github 增强脚本,安装成功后,Code 下方会多出多个加速地址。


五、gitclone.com


这是我用过最爽实用功能最全面的一个方式了。 https://gitclone.com 是一个提供下载缓存的代码下载网站,使用方法十分简单,只需要在仓库地址前面加上 gitclone.com,就可以使速度提升几倍。

例如要克隆 Github 上仓库地址 https://github.com/killer-p/ctool.git 只需将地址改为 https://gitclone.com/github.com/killer-p/ctool.git,在命令行中执行git clone https://gitclone.com/github.com/killer-p/ctool.git,速度直接起飞!


gitclone 的工作机理是:当开发者第一次经 gitclone.com 代理 clone 项目时,gitclone.com 异步镜像项目,以后有开发者 clone 该项目时,就会利用上 gitclone.com 的本地镜像,而不是从 github.com 上 clone。gitclone.com 会在每天夜间与 github.com 同步。目前 gitclone.com 对 star 超过 1500 的都做了镜像。通过 gitclone.com clone,如果能命中镜像,则速度会达到 1M 多,如果之前未 mirror 过,会随着 git clone 命令建立起镜像,下次 clone 会用到


六、Github 加速下载链接


网站地址:https://github.zhlh6.cn/

复制 Github 仓库的地址,然后粘贴到第一栏,点击加速!生成加速地址,使用加速地址进行 git clone 下载,下载速度最高能提升到 1M。


七、Github 镜像访问


Github 镜像就是一个跟 Github 一模一样的网站,他会同步 Github上 的资源,国内访问 Github 镜像的速度较快,也可以在镜像下载仓库,平时逛逛 Github 也可以使用镜像,反正比较快,缺点就是不能登录。

镜像地址:https://hub.fastgit.org

注意这个网站不能登录 Github 账户,点击 sign in 会被浏览器拦截。


八、使用码云下载


码云本身支持从 Github 等其他代码托管网站一键导入repo,然后直接从码云上 clone 就会非常方便。

使用方法如下:首先,在码云中创建新仓库,直接选择导入其他网站已有仓库

复制仓库的 url,或者直接选择导入 Github 仓库,如下图所示:

等个几十秒,码云把 Github 上的项目拉下来,放在了码云的服务器上,这时候我们就可以从码云下载仓库了。由于码云服务器在中国,下载速度很快。



参考资料,感谢以下文章


Github下载速度慢 提升github下载速度最新解决方案 跟龟速说拜拜

解决Github不能下载,下载速度慢的小妙招

相关文章
|
8月前
|
开发工具 git
github下载项目
github下载项目
104 0
|
7月前
|
Unix Shell 开发工具
Github-Git for windows&TortoiseGit下载与安装
Github-Git for windows&TortoiseGit下载与安装
177 0
|
9天前
|
Linux API 开发者
【专栏】如何在GitHub正确地使用 Curl 下载文件?
【4月更文挑战第28天】本文介绍了如何使用`curl`命令从GitHub下载文件。基础操作包括获取文件的克隆URL,打开终端输入`curl -O <file_clone_url>`,执行命令以下载文件。文章还提及了代理设置、认证和错误处理等高级应用,帮助开发者更高效地管理代码和资源。掌握`curl`能提升开发效率和解决问题的能力。
|
24天前
|
缓存 网络协议 Windows
FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码
在国内访问GitHub不稳定时,可以采取三种解决方法。首先,通过网站(<https://ping.chinaz.com/github.com>)找到快速响应的GitHub IP,将其添加到本地hosts文件,然后刷新DNS缓存以正常访问。其次,使用代下载网站如(<https://d.serctl.com/>)下载GitHub上的压缩包。最后,可从国内镜像站点,如码云(<https://gitee.com/mirrors/ffmpeg>),下载FFmpeg等开源代码。这些方法有助于绕过访问限制,确保FFmpeg学习与开发的顺利进行。
FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码
|
2月前
|
定位技术 Nacos 网络虚拟化
Seata常见问题之Seata github上的asset里面下载不了 zip安装包如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
|
7月前
|
程序员 CDN
github Release 下载加速,绿色合法,遥遥领先
你有没有这样一个困惑,当你寻找了很久终于找到一个解决问题的方案,发现这个工具在 GitHub 上,接下来等待我们的就是遥遥无期的龟速下载。
323 0
github Release 下载加速,绿色合法,遥遥领先
【教程】加速访问和下载github项目,原来替换一个域名就可以加速了
【教程】加速访问和下载github项目,原来替换一个域名就可以加速了
|
8月前
|
消息中间件 缓存 Java
GitHub下载热榜,阿里技术官限时开源三份百亿级架构系统手册
在如今是属于高流量的时代,不知道各位了解高并发吗?今天给大家带来的是出自阿里大牛手写三份绝密手册,《百亿级并发系统设计》+《微服实战 +亿级流量网站架构核心技术》
243 0
|
9月前
|
Java 数据库
GitHub下载破千万!这份Java大厂面试指南,竟是阿里面试官上传的
本以为在大厂可以逃过35岁的坎儿,结果还没到35就遇上了大裁员。。。被裁的那一个月,我拿着公司给的2N在家躺了大半个月,刚开始是不甘,到后面每个月一万多的房贷催着我不得不重新审视自己,随后踏上了海投之路。 结果现在的环境真的太卷了,严重打击我的自信心。大半夜找了还在阿里的哥们谈心喝酒,他也知道我现在的压力很大,帮我找他们公司的面试官要了一份简历模板和面试指南,据说是他们内部HR共享的资料。为了快点挣到钱,我二话不说开始背,然后成功收到了7家offer,最后选了一个我喜欢的(就是钱多的)成功入职。
|
5月前
|
编译器 定位技术 开发工具
分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法
分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法