What do raw.githubusercontent.com URLs represent?
我想学习如何使用rawgit.com从github.com服务其他应用程序。
因此,我们有一种通常的方法可以在osx上下载并安装homebrew。
1
| ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
我在GitHub上找不到install文件。 它在哪里?
-
您是否要我们解释一下install命令的工作原理? 您是否查看了raw.githubusercontent.com上引用的文件的内容? 您是否看过curl的文档? 你知道$()在shell中做什么吗? 您知道ruby -e是什么吗?
-
我在存储库中找不到安装文件,这就是我要求退出的情况
-
请注意,rawgit.com不是raw.githubusercontent.com的别名。 它是不隶属于GitHub的第三方服务。
-
RawGit也将达到或接近使用寿命。 参见rawgit.com
raw.githubusercontent.com域用于提供存储在GitHub存储库中的文件的未处理版本。如果您浏览到GitHub上的文件,然后单击Raw链接,那么您将到达。
您问题中的URL引用Homebrew/install存储库的master分支中的install文件。该命令的其余部分仅检索文件并对其内容运行ruby。
-
我的假设是安装脚本位于主存储库中,谢谢
-
"未处理的文件版本"是什么意思?
-
@Tristan,这意味着您将在没有任何GitHub UI的情况下看到文件的内容,并且通常不会呈现(例如Markdown)的文件。您只看到文件的原始文本内容。
查看github内容的方式有两种,"原始"方式和"网页"方式。
raw.githubusercontent.com返回存储在github中的文件的原始内容,因此可以将它们简单地下载到您的计算机中。例如,如果页面代表ruby安装脚本,那么您将获得ruby安装可以理解的ruby安装脚本。
如果您改为使用github.com链接下载文件,则实际上是在下载包含按钮和注释的网页,并在中间显示您想要的脚本-这就是您想要提供给网络浏览器的功能页面,但对于计算机而言,不是要执行的脚本或可以编译的代码,而是要显示的网页。该网页上有一个名为Raw的按钮,可将您发送到raw.githubusercontent.com上的相应内容。
要在通常的github界面中查看raw.githubusercontent.com/${repo}/${branch}/${path}的内容:
您将raw.githubusercontent.com替换为普通的github.com
然后在回购名称和分支名称之间插入" blob"。
在这种情况下,分支名称为" master"(这是一个非常常见的分支名称),因此您将/master/替换为/blob/master/,依此类推
1
| https://raw.githubusercontent.com/Homebrew/install/master/install |
变成
1
| https://github.com/Homebrew/install/blob/master/install |
这与在Github上找到文件并单击Raw链接相反。
-
URL参数是什么意思,例如https:raw.githubusercontent.commasterfiltersfile .txt?_=215612-?_=215612的目的是什么
-
?只是将"路径"与" searchpart"分开(RFC 1738第3.3节)。搜索部分在这里_=215612。 searchpart不必是搜索,它由服务器解释。我不知道原始文件的含义是什么。我唯一的想法是,它可以在文件中的那个点开始或停止数据,但是测试显示没有区别。实际上,即使在普通的github.com页面上,我也没有看到github解释searchpart的证据。如果您仍然想知道,请在这里或在致力于github的论坛上提出一个新问题。
-
它可能会阻止客户端缓存(因为文件内容可能会更改)
1
| raw.githubusercontent.com/username/repo-name/branch-name/path |
将username替换为创建存储库的用户的用户名。
将repo-name替换为存储库的名称。
将branch-name替换为分支的名称。
将path替换为文件的路径。
反向转到GitHub.com:
1
| GitHub.com/username/repo-name/directory-path/blob/branch-name/filename |