如何下载Git项目中单个文件夹或者文件

10,665 阅读2分钟

今天无疑中看到一个github上的项目,该项目主要分享各种电子书,仓库地址: studyFiles

对于有的收藏控的朋友,干脆一股脑儿执行git clone将整个项目下载下来,但是该项目中静态资源实在较多,如果全部直接下载下来的话,那得等多久啊,我试了一下,30-40k每秒左右。

如此耗时,一个比较Up的程序员,无法忍受。

针对这种情况,在网站查了三种方法:

针对单个文件的情况

如果你只对某几本书感兴趣,可以在网页中间接的获取原始的下载地址,比较繁琐。

👇摘抄了项目studyFiles的issues中提供的一个解决方案。

所以推荐一下小伙伴们查看 github 的正确姿势 --- Octotree 这是一个 chrome 扩展工具,可以查看 github repo 侧边栏目录结构。这样小伙伴们就可以在项目首页快速浏览项目中所有的文件。

不仅如此,这个扩展的另一个必杀技就是:在生成的侧边栏目录,支持单文件下载,小伙伴们找到自己需要的书,鼠标移动到文件前面的图标,会变为下载样式的图标,点一下就下载下来了。

针对单个文件夹情况

因为对Go语言比较感兴趣,所以大致看了一下,go文件夹中存在31个文件。大惊,我不能傻不拉叽点击31次下载吧,接着在网上找了两个方案。

第一,Git直接Clone其中单个文件夹

mkdir gobooks && cd gobooks
git init
echo 'go' >> .git/info/sparse-checkout
git remote add origin git@github.com:threerocks/studyFiles.git
git pull origin master

通过👆的方式,可以只下载go文件夹下面的资源。

但是,可能是因为文件太多的缘故,速度依然很“蜗牛🐌”。

第二,使用第三方的工具

打开网页:downgit.zhoudaxiaa.com/#/home

输入资源地址:github.com/threerocks/…

点击下载,等待下载完成。

关于下载

最近一直在使用油猴脚本,虽然当初安装的时候主要是想从百度网盘上下载资源,最近发现下载其他资源的时候也能使用Neat Download Manager这玩意,从下载界面来看,下载的方式都是采用将大文件拆分和组装的方式来下载的。没有研究过浏览器本生的下载原理,可能大致是一样的吧。

欢迎关注公号:程序员的金融圈

一个探讨技术,金融,赚钱的小圈子,为你提供最有味道的内容,日日更新!