解决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不能下载,下载速度慢的小妙招

相关文章
|
14天前
|
开发工具 git 开发者
2024最简七步完成 将本地项目提交到github仓库方法
该文章提供了一个简洁的七步教程,指导用户如何将本地项目提交到GitHub仓库。
2024最简七步完成 将本地项目提交到github仓库方法
|
11月前
|
Unix Shell 开发工具
Github-Git for windows&TortoiseGit下载与安装
Github-Git for windows&TortoiseGit下载与安装
240 0
|
30天前
|
Web App开发 Linux 开发工具
告别卡顿,畅享GitHub:国内开发者必看的五大加速访问与下载技巧
【8月更文挑战第4天】告别卡顿,畅享GitHub:国内开发者必看的五大加速访问与下载技巧
告别卡顿,畅享GitHub:国内开发者必看的五大加速访问与下载技巧
|
1月前
github下载的.ipynb文件报错unreadable Notebook NotJSONError
【8月更文挑战第2天】文章提供了解决GitHub下载的Jupyter Notebook文件打开时报错的方法,包括端口冲突和文件加载错误。
31 0
github下载的.ipynb文件报错unreadable Notebook NotJSONError
|
24天前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之从GitHub下载代码失败是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
29天前
|
Java 网络安全 开发工具
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
32 0
|
3月前
|
程序员 Python
GitHub爆赞!最适合新手入门的教程——笨方法学Python 3
“Python 是一门既容易上手又强大的编程语言。”这句话本身并无大碍,但需要注意的是,正因为它既好学又好用,所以很多 Python 程序员只用到了其强大功能的一小部分。 今天给小伙伴们分享的这份手册以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。
告别龟速,从GitHub快速下载项目的技巧分享,简单又高效!
告别龟速,从GitHub快速下载项目的技巧分享,简单又高效!
|
4月前
|
人工智能 Linux 开发工具
[oeasy]python018_ 如何下载github仓库_git_clone_下载仓库
在这个文档中,作者讨论了如何继续进行编程学习,特别是关于GitHub的使用。首先,回顾了从编写简单代码到管理大量代码的过程。然后,提到了通过“保存运行一条龙”操作来处理代码,以及GitHub作为全球最大的开源软件平台的重要性。在GitHub上,用户可以找到各种软件项目,包括Linux、Python和Blender等。 作者解释了GitHub的基本操作,如点赞(star)、 fork(复制项目)和watch(关注项目更新)。还介绍了如何下载项目到本地,通过`git clone`命令复制仓库的URL并将其粘贴到终端进行下载。如果遇到问题,可以尝试更换HTTP链接或等待一段时间重试。
232 2
|
4月前
|
机器学习/深度学习 自然语言处理 网络安全
【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine
【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine
52 1