【问题标题】:How do I programatically download the ZIP file for a GitHub repo's default branch?如何以编程方式下载 GitHub 存储库默认分支的 ZIP 文件?
【发布时间】:2020-11-16 15:16:57
【问题描述】:

我正在编写一个 PHP 脚本,允许用户输入 GitHub 所有者和仓库名称,然后它会从该仓库下载一个 zip 文件。

GitHub 允许直接链接到回购最新版本的下载:/owner/name/releases/latest/download/name.zip(请参阅https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/linking-to-releases)。因此,如果一个 repo 有一个版本,那就可以了。

但是,对于没有发布的 repos,我想从默认分支下载。 GitHub 为此提供了一个链接(绿色“代码”按钮 >“下载 ZIP”),但该 URL 包含分支名称:/owner/name/archive/[BRANCH].zip

有没有办法直接链接到最新分支的下载而不知道分支可能被称为什么?例如,像这样的假设 URL:/owner/name/archive/latest.zip

【问题讨论】:

    标签: github


    【解决方案1】:

    您需要先阅读存储库的默认分支through GitHub API(参见Get Repository

    一旦你有了默认分支,你就可以用它来完成你的download URL

    curl -L http://github.com/<user>/<repo>/archive/<branch>.zip --output <branch>.zip
    

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2016-02-13
      • 2014-10-19
      • 2013-05-06
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      • 2018-08-07
      • 2017-06-11
      相关资源
      最近更新 更多