从GitHub repo下载单个文件有哪些技巧?

我不想要显示原始文件的URL;对于二进制文件,什么都没有。

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

是否有可能将GitHub用作“下载服务器”?

如果我们决定切换到GoogleCode,是否提供了上述功能?

或者开源项目是否有免费托管和VCS?


当前回答

我最近发现了一个名为gitzip的服务,它也是开源的:

站点-http://kinolien.github.io/gitzip/

回购-https://github.com/KinoLien/gitzip

访问上述站点,输入repo或目录URL,您可以下载单个文件或整个目录作为zip文件。

其他回答

转到脚本并单击“原始”

然后复制链接并使用aria2c链接下载。

例如:aria2chttps://raw.githubusercontent.com/kodamail/gscript/master/color.gsf

窍门:我想下载的文件是,https://github.com/kodamail/gscript*/blob*/master/color.gsf

只需将链接修改为https://raw.githubusercontent.com/kodamail/gscript/master/color.gsf

删除斜体文本并添加相同格式的粗体文本,这将为您提供正确的链接。

可以与aria2c、wget或curl一起使用,我在这里使用了aria2c。

根据这一要点,您可以使用wget或cURL:

单击GitHub repo中的文件名。单击“原始”以显示文件目录在浏览器中复制URL。在命令行中,运行以下任一命令:wget—无检查证书—内容处置https://URL-from-step3/卷曲-LJOhttps://URL-from-step3/再一个:在RHEL7.6中,运行以下命令:wget公司https://URL-from-step3/--输出文档=FILE_NAME

您链接到的页面回答了第一个问题。GitHub还提供了一个下载工具,用于发布等内容。谷歌代码根本没有Git。GitHub、Google Code和SourceForge是免费托管。SourceForge可能仍然会做CVS。

在Mac或Linux上安装jq并使用它从Github中提取文件,如下所示:

curl -H 'Authorization: token <ACCESS_TOKEN>' \
   -H "Accept: application/vnd.github.v3+raw" -L \
   https://api.github.com/repos/MY-ORG/MY-REPO/contents/MY-FILE-PATH | \
   jq -r '.content' | base64 --decode > MY_FILE_NAME.txt

可以在此处找到上述命令的文档。

Git不支持下载部分存储库。你必须下载所有这些。但你应该能够使用GitHub完成这项工作。

当您查看文件时,它有一个指向“原始”版本的链接。URL的构造如下

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

通过填写URL中的空白,您可以使用Wget或cURL(带有-L选项,请参见下文)或任何方式下载单个文件。同样,这样做不会得到Git使用的任何好的版本控制功能。

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

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

请注意,上面从github.com上的链接中给出的URL将重定向到raw.githubusercontent.com。您不应该直接使用此HTTP 302重定向所提供的URL,因为根据RFC 2616:“由于重定向有时可能会更改,因此客户端应继续使用请求URI进行未来请求。”