如何使用命令行以.zip格式下载GitHub存储库


9

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

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

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

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


您能告诉您要粘贴的确切命令吗?
kashish

1
您的网址真的以.zip结尾吗?
kashish

@kashish没有URL不能以.zip结尾。我正在尝试从github下载一个项目,它有一个提供zip和其他选项的下载按钮。所以,我正在尝试。它以archive.zip?ref=master结尾
UbuntuCoder '17

要下载github项目,您可以使用git clone <projectlink.git>
kashish '17

1
如果我没记错的话,可以使用以下地址将存储库下载为Zip文件:https://github.com/{user}/{repo}/archive/{branch}.zip
Alex Chermenin

Answers:


11

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

它不能这样工作,因为:

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

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

因此,使用wget获得的只是html页面,它将在生成zip文件后立即将您转发。

根据建议使用

git clone http://github.com/<yourRepoLink> <optional local path where to store>

下载git repo ...如果出于某种原因(例如,为了将其传输给其他人),您明确需要它为zip,则克隆完成后仍然可以打包。


2
克隆后git archive -o output.zip,如果仍然需要zip文件,请执行
Ferrybig

git clone自然可以工作,但是在某些情况下,仅下载git来安装git毫无意义。
罗宾·麦特拉(RobinMétral)

0

如果您使用正确的URL,它将起作用。对于GitHub仓库,在处有一个zip https://github.com/user/repo/archive/master.zip,因此您可以通过以下方式下载它:

wget https://github.com/user/repo/archive/master.zip

这将下载的master分支user/repo。您可以将master替换为任何其他分支或提交哈希。

这类似于使用cURL进行以下操作:

curl -L https://github.com/user/repo/archive/master.zip

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

请注意,您还可以使用以下命令下载tarball:

wget https://github.com/user/repo/archive/master.tar.gz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.