Github项目clone速度过慢?试试这招

errrr,这标题有内味了……

将要 clone 的 Github 项目链接稍微修改一下就可以了,比如:

git clone https://github.com/username/repo.git

修改为

git clone https://github.com.cnpmjs.org/username/repo.git

就是多了一个 cnpmjs.org。其实 https://github.com.cnpmjs.org 就是一个 Github 的镜像网站,同样也是可以打开的。对于经常用 node.js 的人来说,看到 cnpm 应该也挺熟悉的。

这个方法用了挺久的了,不过最近发现还是有很多人将项目同步到 Gitee 后再下载,相比之下只用加几个字母就可以让 clone 的速度有极大的提高,我觉得这种方法倒是值得推广一下的。 😀

此外,有的项目其实本身体积并不大,可能也就几 M 大小,但是 clone 后查看项目代码的体积却有几百 M。其实对于一个经常更新的项目来说,几百甚至上千的 commits 也是挺常见的,这就导致有时候真正占据 clone 时长的就是 .git 文件,而非项目的主要代码。对于大部分需要 clone 项目的人来说,更关心的只是项目的最新修改而非之前的修改,所以通过设定 clone 的深度 (--depth) 可以在减少 clone 项目体积的同时也减少了 clone 的时间。在克隆时指定 --depth 1--depth 后面的数字表示要克隆最近的历史版本数,为 1 代表只克隆最新的一个版本。

搭配镜像网站链接使用更佳

1
git clone --depth 1 https://github.com.cnpmjs.org/username/repo.git
Author: Inno Fang
Link: http://innofang.github.io/2020/08/28/Github%E9%A1%B9%E7%9B%AEclone%E9%80%9F%E5%BA%A6%E8%BF%87%E6%85%A2%EF%BC%9F%E8%AF%95%E8%AF%95%E8%BF%99%E6%8B%9B/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-ND 4.0 unless stating additionally.