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

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

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

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

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

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


当前回答

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

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

其他回答

可以这样使用curl:

卷曲-OLhttps://raw.githubusercontent.com/<username>/<repo名称>/<branch名称>/path/to/file

O表示curl下载内容L表示卷曲遵循重定向

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

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

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

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

我使用了以下格式,我觉得告知路径很重要。

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

^^^以上内容在我看来并不完整

https://github.com/<user>/<repoROOTname>/blob/master/<path>/<filename>?raw=true

有些人说raw.github.com或raw而不是blob,但第二行对我有用,我希望能帮助其他人。。。

在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

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

GitHub发布功能

您应该使用GitHub的发布功能将可下载数据(如编译的二进制文件)与用于生成该数据的源代码的标记版本相关联,而不是链接以下载回购中的特定文件。

https://github.com/blog/1547-release-your-software

我们很高兴宣布发布,这是一个向最终用户发送软件的工作流。发布是具有变更日志和二进制资产的一级对象,它们展示了Git工件之外的完整项目历史。发行版附带发行说明和下载软件或源代码的链接。按照许多Git项目的惯例,发布与Git标签绑定。您可以使用现有标记,或在发布标记时让发布者创建标记。