如何从GitHub下载ZIP格式的源代码?

我看到了一些奇怪的事情:

http://github.com/zoul/Finch.git

现在我不是CVS, SVN之类的家伙了。当我在浏览器中打开它时,它告诉我我做错了什么。所以我猜我需要一些黑客工具?一些客户吗?

(我的意思是…为什么不直接提供ZIP文件呢?难道世界还不够复杂吗?)

795552 次浏览

要像这样通过URL克隆存储库:是的,你确实需要一个客户端,而这个客户端是Git。这可以让你做出改变,你自己的分支,与其他开发者同步合并,维护你自己的源代码,你可以轻松地保持更新,而不必每次都下载整个东西并重写你自己的更改等等。ZIP文件不会让您这样做。

它主要适用于那些想要开发源代码的人,而不是那些只想获得源代码而不进行更改的人。

但你也可以得到一个ZIP文件:

点击http://github.com/zoul/Finch/,然后点击绿色的克隆或下载按钮。在这里看到的:

enter image description here

如果存储库所有者没有准备zip文件,而您只想下载一个供自己使用,会发生什么?有一个答案,你不需要经历下载软件、安装和注册密钥等可怕的过程,在GitHub等!

要简单地以zip文件的形式下载存储库:在存储库URL的末尾添加额外的路径'/zipball/master/',瞧,它会给你一个完整的zip文件。

例如,

http://github.com/zoul/Finch/ < a href = " http://github.com/zoul/Finch/ " > < / >

就变成:

http://github.com/zoul/Finch/zipball/master/ < a href = " http://github.com/zoul/Finch/zipball/master/ " > < / >

然后,它会提供一个zip文件供您下载。

通过curl下载你的存储库为zip文件:

curl -L -o master.zip http://github.com/zoul/Finch/zipball/master/

如果你的存储库是私有的:

curl -u 'username' -L -o master.zip http://github.com/zoul/Finch/zipball/master/

来源:Github的帮助

2016年7月更新

2016年7月开始,下载ZIP按钮已经移动到代码选项卡下header的克隆或下载下:

Download ZIP (2013)


如果你没有看到按钮:

  • 确保您已经从右侧导航菜单中选择了& lt; >代码选项卡,或者
  • 回购可能没有一个zip准备。将/archive/master.zip添加到存储库URL的末尾,并生成主分支的zip文件:
< p > http://github.com/user/repository/ - - - - - - - - - > http://github.com/user/repository/archive/master.zip < / p >

以zip文件形式获取主分支源代码。你可以对标记和分支名称做同样的事情,方法是用分支或标记的名称替换上面URL中的master

如果你想从命令行执行,这里有一个很好的参考: http://linuxprograms.wordpress.com/2010/10/26/checkout-code-from-github/ < / p >

基本上这是

git clone http://github.com/zoul/Finch.git

截至2016年12月,克隆或下载按钮仍然在<> Code选项卡下,但现在它在标头的最右边:

Github克隆或下载截图

有时如果“下载ZIP”按钮不可用,你可以点击“原始”,文件就会下载到你的系统中。

截至2016年6月,下载ZIP按钮仍然在<>代码选项卡下,但它现在在一个按钮内,有两个选项克隆或下载:

Symfony image example .

我也被这个问题难住了。“下载”按钮在最右边,但你也需要在最上面的文件夹中才能下载你所看到的内容。走到尽可能高的父/根文件夹,然后寻找下载按钮。

我也面临着同样的问题,但我意外地解决了这个问题。 1)登录github 2)点击右上角的叉按钮。 3)以上步骤后,你可以在<> Code Tab下看到克隆或下载,颜色为绿色

尽管这是一个相当老的问题,但我有我的2美分要分享。

您也可以以tar.gz的形式下载该回购文件

就像这里各种答案指向的zipball链接一样,还有一个tarball链接,它以tar.gz格式下载git存储库的内容。

curl -L http://github.com/zoul/Finch/tarball/master/

更好的方法

Git还提供了一种不同的URL模式,你可以简单地在URL的末尾附加你想要下载的文件类型。如果您想在批处理或bash脚本中处理这些url,这种方式更好。

curl -L http://github.com/zoul/Finch/archive/master.zip


curl -L http://github.com/zoul/Finch/archive/master.tar.gz

下载特定的提交或分支

master替换为上面url中的commit-hashbranch-name,如下所示。

curl -L http://github.com/zoul/Finch/archive/cfeb671ac55f6b1aba6ed28b9bc9b246e0e.zip
curl -L http://github.com/zoul/Finch/archive/cfeb671ac55f6b1aba6ed28b9bc9b246e0e.tar.gz --output cfeb671ac55f6b1aba6ed28b9bc9b246e0e.tar.gz


curl -L http://github.com/zoul/Finch/archive/your-branch-name.zip
curl -L http://github.com/zoul/Finch/archive/your-branch-name.tar.gz --output your-branch-name.tar.gz

你也可以在Github上发布一个版本,并且有一个选项可以下载该版本的zip文件中的源代码。

然后,您可以将zip文件链接共享给任何人以下载项目源代码。

在chrome中,如果你将光标悬停在下载ZIP上,它会在浏览器底部为你提供链接

enter image description here

对于使用Windows并努力从终端下载zip格式的repo的人:

url -L http://github.com/GorvGoyl/Notion-Boost-browser-extension/archive/master.zip --output master.zip

最近,我在GitHub上发现了以下工具:github-zipball-downloader来自marencozy / github-zipball-downloader存储库。 它可以将所有的公共存储库备份为zip存档
python3 github-zipball-downloader.py -username User1

它将User1存储库保存到名称为datetime的本地文件夹。