关于github:raw.githubusercontent.com URL代表什么?

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文件。 它在哪里?


raw.githubusercontent.com域用于提供存储在GitHub存储库中的文件的未处理版本。如果您浏览到GitHub上的文件,然后单击Raw链接,那么您将到达。

您问题中的URL引用Homebrew/install存储库的master分支中的install文件。该命令的其余部分仅检索文件并对其内容运行ruby


查看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链接相反。


    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