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

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

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

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

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

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


当前回答

I.如果您想下载.so之类的文件而不是源代码,请尝试单击下面的下载按钮:

该文件将从您的浏览器下载。

二、如果您想下载源代码,请单击“原始”,然后转到“原始”。。页

简单地复制/粘贴或使用curl或wget命令在终端中获取它。

其他回答

您可以尝试github文件获取器,它是一个命令行工具,可以从github repo下载单个文件夹或文件。

想象一个真实的场景:您正在访问以下网页,并想单独下载异步子目录。

https://github.com/reduxjs/redux/tree/master/examples

很抱歉不能发布图片。

使用github文件获取器,您应该首先复制该页面的urlhttps://github.com/reduxjs/redux/tree/master/examples/async,然后在命令行中运行以下命令:

提取器--url=https://github.com/reduxjs/redux/tree/master/examples/async

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

这种方法适用于Windows,因为我从未使用过MAC,所以我不知道MAC中的备用密钥是什么,我将在下面提到这些密钥。

让我们来谈谈CSV文件。如果要下载CSV文件:

转到要下载的特定数据集并单击它。您将在数据集的右上方看到“原始”按钮。按“Alt”,然后左键单击“Raw”按钮。整个CSV将下载到您的系统中。

记住,您必须同时按下Alt键并单击鼠标左键。只需单击“原始”按钮即可在浏览器中打开CSV。

我希望这有帮助。

现在,这在GitHub中可以用于任何文件。您需要翻译raw.github.com的文件。例如,如果您的文件位于存储库中:

https://github.com/<username>/<repo>/some_directory/file.rb

使用wget,您可以从以下位置获取原始文件:

https://raw.github.com/<username>/<repo>/<branch>/some_directory/file.rb

Rails Composer就是一个很好的例子。

请使用“{host}/{user}/}repo}/branch}/{file}”的模式。要获得具体示例,请在Python中执行以下操作:

import pandas as pd
host = 'raw.github.com'
user = 'fivethirtyeight'
repo = 'data'
branch = 'master'
file = 'births/US_births_2000-2014_SSA.csv'
url = f'https://{host}/{user}/{repo}/{branch}/{file}'
df = pd.read_csv(url,sep=',',header=0)
df.head()