前言

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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐