从GitHub存储库中下载单个文件夹或目录

23 浏览
0 Comments

从GitHub存储库中下载单个文件夹或目录

如何从托管在GitHub上的远程Git存储库中仅下载特定的文件夹或目录?

假设示例GitHub存储库在此处:

git@github.com:foobar/Test.git

它的目录结构:

Test/
├── foo/ 
│   ├── a.py
│   └── b.py   
└── bar/
    ├── c.py
    └── d.py

我只想下载foo文件夹,而不是克隆整个Test项目。

admin 更改状态以发布 2023年5月23日
0
0 Comments

前往DownGit > 输入你的网址 > 下载!

你可以从DownGit直接下载或创建任何GitHub公共目录或文件的下载链接-


DownGit


你还可以配置下载文件的属性-详细使用方法


免责声明:我也遇到了和提问者同样的问题,找不到简单的解决方案。所以,我首先为自己开发了这个工具,然后向大家开放了它 🙂

0
0 Comments

2021年4月更新:社区创建了几个可以为您完成此操作的工具:

注:如果您尝试下载大量文件,则可能需要向这些工具提供令牌以避免速率限制。


原始(手动)方法:Git本身不支持检出单个目录,但Github可以通过SVN实现此操作。
如果您使用Subversion检出代码,则Github将在后端将存储库从Git转换为Subversion,然后提供请求的目录。

以下是如何使用这个功能下载指定文件夹的步骤。我们以流行的JavaScript库 lodash 作为例子。

  1. 导航至需要下载的文件夹。我们将从master分支下载/test

    github repo URL example

  2. 修改“subversion”的URL。tree/master替换为trunk

    https://github.com/lodash/lodash/tree/master/test

    https://github.com/lodash/lodash/trunk/test

  3. 下载文件夹。进入命令行,使用SVN抓取文件夹。

svn checkout https://github.com/lodash/lodash/trunk/test

你可能不会立即看到任何活动,因为Github需要最多30秒来转换较大的代码库,所以要耐心等待。

完整的URL格式说明:

  • 如果你需要master分支,请使用trunk代替。因此完整路径为trunk/foldername
  • 如果你需要foo分支,请使用branches/foo代替。完整路径看起来像branches/foo/foldername
  • 提示:如果需要,你可以使用svn ls查看可用的标签和分支再进行下载。

就这样!Github 支持更多的subversion功能,包括提交和推送更改。

0