从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来处理将来的请求。”
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