我们知道 git clone 命令会把整个 GitHub 仓库的所有文件以及记录下载下来,这既耗内存,又耗时间。我们很多时候只是想下载仓库中某个文件夹中的所有文件,有什么办法可以实现单个文件夹下载呢?
一、svn命令的用法
1. master分支(主分支)下载单个文件夹
svn export
/trunk/
2. 其他分支下载单个文件夹
svn export
/branches/分支名/
3. master分支下载单个文件
svn export
/trunk/
二、GitHub下载示例
GitHub项目:https://github.com/labuladong/fucking-algorithm
需求1:我现在只想下载 fucking-algorithm 仓库的 master 分支中的 pictures 文件夹的内容
需求2:我现在只想下载 fucking-algorithm 仓库的 english 分支中的 interview 文件夹的内容
需求3:我现在只想下载 fucking-algorithm 仓库的 master 分支中 技术 文件夹中的linuxshell.md文件
几点说明:
(1)svn 命令不会去下载 .git 这个庞大的文件夹,所以如果你只是想用某个仓库的某个文件夹,而不是去维护一个仓库,建议使用 svn,因为这是最高效的方法
(2)网上有很多博客说用 sparse checkout,我试了下好像不是很管用
(3)下载单个文件,更快的方法是使用 Chrome 插件 Enhanced GitHub
参考资料
[1] How do I clone a subdirectory only of a Git repository?
[2] 知乎 - 如何从 GitHub 上下载单个文件夹?