如何使用命令行将 GitHub 存储库下载为 .zip

Ubu*_*der 15 command-line zip wget github

我正在尝试使用 Ubuntu 中的命令行从 GitHub 下载 .zip 文件。我wget在远程 Ubuntu 系统上使用它的命令。

我运行wget <link>where<link>是我要下载的文件的地址栏链接。它以archive.zip?ref=master.

现在,当我执行命令时,它正在下载一个text/html类型的文件,而不是.zip我想要的文件。

请告诉我如何获取作为wget. 现在,我只是复制按钮的链接地址(使用右键单击)并将其作为wget参数写入。

Rob*_*ral 13

如果您使用正确的 URL,它确实有效。

对于 GitHub 存储库,在 中有一个 zip https://github.com/<user>/<repo>/archive/<branch>.zip,因此您可以使用以下命令下载它:

wget https://github.com/<user>/<repo>/archive/<branch>.zip
Run Code Online (Sandbox Code Playgroud)

这将下载给定分支的压缩存储库。请注意,您还可以用提交哈希替换分支。

使用卷曲

curl -L https://github.com/<user>/<repo>/archive/<branch>.zip
Run Code Online (Sandbox Code Playgroud)

cURL 的-L标志跟随重定向 - 这是 wget 中的默认值。

下载 .tgz 而不是 .zip

您还可以使用以下命令下载 tarball:

wget https://github.com/<user>/<repo>/archive/<branch>.tar.gz
Run Code Online (Sandbox Code Playgroud)

  • **`curl -L -O &lt;url&gt;` 适用于 MacOS**;(发帖是因为它与 Unix 相关)感谢添加有关“curl”的信息;我在 MacOS 上搜索等效项时来到这里,尽管安装它并不难,但默认情况下并未安装“wget”(我的用例限制了我安装)。建议您添加 `-O` 作为“二进制输出可能会弄乱您的终端” (2认同)

der*_*ugo 12

从评论中我看到您实际上是在谈论 GitHub。

它不会像这样工作,因为:

在 GitHub 上下载项目会导致 GitHub 服务器首先将您的项目打包为 zip,然后转发到您获取 zip的临时链接。

此链接仅在特定时间内有效,而 GitHub 将从其服务器中删除您的 zip 文件。

所以你用 wget 得到的只是 html 页面,它会在你的 zip 文件生成后立即转发给你。

作为建议使用

git clone http://github.com/<yourRepoLink> <optional local path where to store>
Run Code Online (Sandbox Code Playgroud)

下载 git repo ......如果由于某种原因(例如将其转移给其他人),您明确需要它作为 zip 文件,您仍然可以在克隆完成后将其打包。

  • 克隆后,如果还需要一个zip文件,执行`git archive -o output.zip` (2认同)