从GitHub下载单个文件

我想大多数人,开发人员都使用任何VCS,我希望你们中的一些人使用Git。 您有任何提示或诀窍如何获取存储库中单个文件的下载URL?

我不想显示原始文件的URL; 在二进制文件的情况下它是没有用的。

http://support.github.com/discussions/feature-requests/41-download-single-file

甚至有可能使用GitHub作为“下载服务器”?

如果我们决定切换到谷歌代码,这里提到的功能是什么?

还是有免费的托管和VCS的开源项目?


Git不支持下载部分版本库。 你必须全部下载。 但你应该可以用GitHub来做到这一点。

当你查看一个文件时,它有一个“原始”版本的链接。 URL是这样构造的

https://github.com/user/repository/raw/branch/filename

通过填充URL中的空白,您可以使用Wget或cURL(带-L选项,请参见下文)或其他任何内容下载单个文件。 再次,你不会得到Git使用的任何漂亮的版本控制特性。

更新:我注意到你提到这不适用于二进制文件。 您可能不应该在您的Git存储库中使用二进制文件,但GitHub为每个可用于上载文件的存储库都有一个下载部分。 如果您需要多个二进制文件,则可以使用.zip文件。 下载上传文件的URL是:

https://github.com/downloads/user/repository/filename

请注意,上面给出的URL来自github.com上的链接,将重定向到raw.githubusercontent.com 。 您不应该直接使用此HTTP 302重定向提供的URL,因为根据RFC 2616:“由于重定向有时可能会发生变化,因此客户端应该继续使用请求URI来处理将来的请求。”


  • 转到您要下载的文件。
  • 点击它可以查看GitHub UI中的内容。
  • 在右上角, 右键单击 Raw按钮。
  • 另存为...

  • 您可以使用V3 API来获取这样的原始文件(您需要一个OAuth令牌):

    curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://api.github.com/repos/owner/repo/contents/path

    所有这些都必须在一条线上。 -O选项将文件保存在当前目录中。 您可以使用-o filename来指定不同的文件名。

    要获取OAuth令牌,请按照以下说明操作:https://help.github.com/articles/creating-an-access-token-for-command-line-use

    我已经写下了这个要点:https://gist.github.com/madrobby/9476733

    链接地址: http://www.djcxy.com/p/5721.html

    上一篇: Download single files from GitHub

    下一篇: How do you rename a Git tag?