Github 下载文件夹(子目录)

有时候只是需要 Git 仓库里某个子文件夹里的源代码文件,并不想克隆整个仓库(可能整个仓库比较大)。例如只想下载某个课程系列里第一课的源代码案例 ch01。

原理:
1,SVN 基于文件方式存储(而Git却是基于元数据方式分布式存储文件信息的)
2,GitHub 支持 SVN 客户端

方法步骤

  1. 本地电脑要有个 svn 客户端
    Linux 和 macOS 都自带 svn,直接在命令行终端里使用。 Windows 没有的话,可以装个 TortoiseSVN 或其它客户端。

  2. 准备下载地址

a)如果要下载的文件在仓库的 master 分支,
譬如地址是 https://github.com/UserName/ProjectName/tree/master/ch01
/tree/master/ 换成 /trunk/
https://github.com/UserName/ProjectName/trunk/ch01

b)如果不是 master 分支,
/tree/ 改为 /branches/
譬如 https://github.com/UserName/ProjectName/tree/develop/ch01
修改后 https://github.com/UserName/ProjectName/branches/develop/ch01

3,使用 svn checkout 命令下载

举例:svn checkout https://github.com/UserName/ProjectName/trunk/ch01

第一次使用的话, 可能会出现下面这个提示:
R)eject, accept (t)emporarily or accept (p)ermanently?
输入 P

  • DownGit Create GitHub Resource Download Link
  • GitZip make sub-folder/sub-directory of github repository as zip and download

参考文章