如何使用wget从Github下载包含多个文件的文件夹?

24 浏览
0 Comments

如何使用wget从Github下载包含多个文件的文件夹?

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

假设示例GitHub存储库位于此处:

git@github.com:foobar/Test.git

它的目录结构如下:

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

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

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

前往DownGit> 输入您的 URL > 下载!

您可以从DownGit-直接下载,也可以为任何 GitHub 公共目录或文件创建下载链接DOWNLOAD LINK


DownGit


您还可以为下载文件配置属性-详细使用


声明: 我遇到与提问者相同的问题,找不到任何简单的解决方案。所以,我首先为自己开发了这个工具,然后向所有人开放:)

0
0 Comments

2021年4月更新:社区创建了一些工具,可以为您完成这个操作:

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


原始(手动)方法:git本身不支持检出单个目录,但是Github可以通过SVN实现这一操作。如果您使用子版本控制工具(subversion)检出代码,Github将在后台将仓库从git转换为SVN,然后提供所需的目录。

以下是如何使用此功能下载特定文件夹的步骤。我将使用流行的JavaScript库 lodash 作为示例。

  1. 导航到你要下载的文件夹。让我们从 master 分支中下载 /test

    github repo URL example

  2. 修改子版本URL。用 trunk 替换 tree/master

    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