Github API 用于将特定目录下载为 tarball

Github API for downloading a specific directory as tarball

我的问题

我有一个巨大的 git monorepo,我从一个名为 services 的小目录中部署了一项服务。我目前将整个存储库下载为 tarball 只是为了获取那个小目录,这很浪费。

我尝试了什么

我的问题

如何将 github 存储库的特定提交散列中的特定文件或目录下载为 tarball?

您可以在 GitHub 社区签出或克隆单个文件夹,如 this guide 中的那样。他们称之为稀疏结帐,您首先要像这样创建本地存储库:

mkdir directoryName
cd directoryName
git init
git remote add origin -f URL

然后将要在本地使用的文件夹添加到 .git/info/sparse-checkout。在此之后执行拉取命令时 git 将仅拉取此文件中提到的文件夹。

在此之后您可以定期获取,它只会更新这个特定的文件夹。

这是the documentation on sparse checkouts