从GitHub下载单个文件
我想大多数人,开发人员,使用任何VCS ,我希望你们中的一些人使用Git。 您有任何提示或诀窍如何获取存储库中单个文件的下载URL?
我不想显示原始文件的URL; 在二进制文件的情况下,它是没有用的。
http://support.github.com/discussions/feature-requests/41-download-single-file
甚至有可能使用GitHub作为“下载服务器”?
如果我们决定切换到谷歌代码,这里提到的function?
还是有免费的托pipe和VCS的开源项目?
Git不支持下载部分版本库。 你必须下载所有的。 但是你应该可以用GitHub来做到这一点。
当你查看一个文件时,它有一个“原始”版本的链接。 url是这样构build的
https://raw.githubusercontent.com/user/repository/branch/filename
通过填充URL中的空白,您可以使用Wget或cURL或其他任何方式下载单个文件。 再一次,你不会得到Git使用的任何漂亮的版本控制特性。
更新:我注意到你提到这不适用于二进制文件。 你可能不应该在你的Git仓库中使用二进制文件,但是GitHub有一个你可以用来上传文件的仓库的下载部分。 如果您需要多个二进制文件,则可以使用.zip文件。 下载上传文件的URL是:
https://raw.githubusercontent.com/downloads/user/repository/filename
- 转到您要下载的文件。
- 点击它来查看GitHub UI中的内容。
- 在右上angular, 右键单击
Raw
button。 - 另存为…
您可以使用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
GitHub Mate让单个文件下载毫不费力,只需点击图标下载,目前只能在Chrome上运行。
现在可以在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就是一个很好的例子。
要跟进什么thomasfuchs说,而是为GitHub企业用户这里是你可以使用。
curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path
如果你想使用wget
从github
下载zip文件
wget -O filename.zip https://github.com/downloads/user/repository/filename.zip?raw=true
看到这个网站的更多细节
这种方法适用于Windows,因为我从来没有使用MAC,所以我不知道MAC中的备用密钥是什么,我将在下面提及这些密钥。
我们来谈谈CSV文件。 如果你想下载CSV文件:
- 转到您要下载的特定数据集,然后单击它。
- 你会看到数据集右上angular的“Raw”button。
- 按“Alt”,然后左键单击“原始”button。
- 整个CSV将在您的系统中下载。
记住,你必须同时按下Alt和左键。 只需点击“Raw”button即可在浏览器中打开CSV。
我希望有帮助。
根据这个要点 ,你可以使用wget或者cURL:
- 点击GitHub库中的文件名。
- 点击Raw显示文件内容。
- 在浏览器中复制url。
- 在命令行中运行:
-
wget --no-check-certificate --content-disposition https://URL-from-step3/
-
curl -LJO https://URL-from-step3/
-
-
您链接的页面回答第一个问题。
-
GitHub还有一个下载工具,用于发布等。
-
Google Code根本没有Git 。
-
GitHub,谷歌代码和SourceForge ,刚开始,免费托pipe。 SourceForge可能仍然会执行CVS 。
你应该只用你的文件的raw
URL。
例如要下载AFNetworking的README:
curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md
因为这是一个公共回购你不需要任何凭据。 请注意那种url: raw.githubusercontent.com/path/to/file
这肯定会奏效。 至less在Chrome中。 右键单击“原始”图标 – > 保存链接为 。
去这个网站 – input您的url – 下载!
您可以下载单个文件和目录为zip。 你也可以创build下载链接,甚至给zip文件命名。
希望这可以帮助 :)
我认为新的url
结构是raw.giturl
例如:
git文件
生的
如果你碰巧使用curl和firefox …你可以使用cliget插件来生成一个curl调用,包括所有的authentication机制(aka cookies)。
所以右键单击raw
buttoncliget – >“复制链接的URL”,然后粘贴到一个shell。 即使您需要login才能看到文件,您将获得文件。
我最近发现了一个名为gitzip
的服务,它也是开源的:
网站 – http://kinolien.github.io/gitzip/
回购 – https://github.com/KinoLien/gitzip
浏览上述网站,input回购目录或目录URL,即可下载单个文件或整个目录作为zip文件。
- 在“克隆在桌面”下面的右边是“下载Zip文件”
- 下载Zip文件
- 解压文件
您应该使用GitHub的发行版function将可下载数据(例如编译的二进制文件)与用于生成该数据的源代码的标记版本相关联,而不是链接到repo中的特定文件。
https://github.com/blog/1547-release-your-software
我们很高兴地宣布发布,这是一个向最终用户发送软件的工作stream程。 发布是具有更新日志和二进制资源的一stream对象,它们呈现超出Git构件的完整项目历史logging。
发行版附带发行说明和链接以下载软件或源代码。
遵循许多Git项目的约定,发布与Git标签绑定。 您可以使用现有标签,也可以让版本在发布时创build标签。
对于使用GitHub Enterprise的用户,您需要在以下scheme中构buildURL
Invoke-WebRequest http://github.mycompany.com/api/v3/repos/my-org/my-repo/contents/myfiles/file.txt -Headers @{"Authorization"="token 8d795936d2c1b2806587719b9b6456bd16549ad8"}
详情可以在这里find
http://artisticcheese.blogspot.com/2017/04/how-to-download-individual-files-from.html
要从Github repo下载文件,请使用“curl”命令以及指向原始文件的链接。
curl https://raw.githubusercontent.com/user/repo/filename --output filename
添加–output选项,后跟新文件名,将原始文件下载到新创build的文件中。
现在可以使用这个谷歌浏览器扩展来下载仓库中的任何文件或任何特定的文件夹:
github的GitZip: 链接: https ://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn
用法:
- 在任何GitHub公共回购页面。
- 只需双击你需要的项目。
- 点击右下angular的下载button。
- 查看进度仪表板并等待浏览器触发器下载。
- 获取ZIP文件。
这就是我刚才的工作…
-
在单独的选项卡中打开原始文件。
-
把你的记事本全部复制到一个新文件中。
-
将文件保存在原来的扩展名中
…刚刚为.DLL文件工作。