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

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

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

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

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

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


当前回答

要从Github repo下载文件,请使用带有原始文件链接的“curl”命令。

curl https://raw.githubusercontent.com/user/repo/filename --output filename

添加--output选项,后跟新文件名,将原始文件下载到新创建的文件中。

其他回答

您应该只使用文件的原始URL进行操作。

例如,下载AFNetworking的README:

curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md 

由于它是公共回购,因此您不需要任何凭据。请注意url的类型:raw.githubusercontent.com/path/to/file

如果你碰巧用卷发和萤火虫。。。您可以使用cliget插件,它生成一个curl调用,包括所有身份验证机制(也称cookie)。

因此,右键单击原始按钮cliget->“复制链接的url”,然后将其粘贴到外壳中。即使你必须登录才能看到文件,你也会得到它。

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进行未来请求。”

2021,GitHub增加了一项新功能,即在web上打开visual studio代码。只需按句号或周期键即可启动。,当您在任何存储库中时。

因此,要下载任何特定文件,您可以按启动vscode。键,然后它将在vscode中显示存储库的所有文件。在那里,您可以通过右键单击>dowload下载所需的任何文件。

GitHub发布功能

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

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

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