【发布时间】:2021-09-27 13:56:07
【问题描述】:
从 GitHub 存储库中的目录下载与模式匹配的文件的有效方法是什么?
【问题讨论】:
从 GitHub 存储库中的目录下载与模式匹配的文件的有效方法是什么?
【问题讨论】:
最好的方法是在本地克隆存储库,然后提取所需的文件。假设您只关心一个修订版,您还可以下载存档并仅提取您想要的那些文件。
GitHub 不提供仅提取某些文件的方法。尝试使用 API 编写脚本的效率要低得多,而且比仅下载浅层克隆或存档并提取客户端所需的时间要多得多。
【讨论】:
如果您只想要文件而不是完整的历史记录,您可以:
也就是说,在一个命令中(在一个新的空本地文件夹中执行,用于测试):
curl -L https://api.github.com/repos/octokit/octokit.rb/tarball |\
tar -xz --wildcards "*.md"
这会创建一个以存储库的 Git SHA1 命名的文件夹:
C:\Users\vonc\git\test>cd octokit-octokit.rb-be7c105
C:\Users\vonc\git\test\octokit-octokit.rb-be7c105>l
total 52K
-rw-r--r-- 1 vonc 197609 1.3K May 18 23:27 RELEASE.md
-rw-r--r-- 1 vonc 197609 29K May 18 23:27 README.md
-rw-r--r-- 1 vonc 197609 1.1K May 18 23:27 LICENSE.md
-rw-r--r-- 1 vonc 197609 1.2K May 18 23:27 CONTRIBUTING.md
-rw-r--r-- 1 vonc 197609 3.3K May 18 23:27 CODE_OF_CONDUCT.md
【讨论】: