raw.githubusercontent.com URL代表什么?

raw.githubusercontent.com URL代表什么?,github,homebrew,Github,Homebrew,我想从github.com学习如何使用服务于其他应用程序。 因此,我们有一种在osx上下载和安装homebrew的常用方法 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 我在GitHub上找不到安装文件。它在哪里?使用raw.githubusercontent.com域为存储在GitHub存储库中的未处理版本的文件提供服务。如果您在GitHub上浏览到一个文件,

我想从
github.com
学习如何使用服务于其他应用程序。 因此,我们有一种在osx上下载和安装
homebrew
的常用方法

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

我在GitHub上找不到
安装
文件。它在哪里?

使用
raw.githubusercontent.com
域为存储在GitHub存储库中的未处理版本的文件提供服务。如果您在GitHub上浏览到一个文件,然后单击Raw链接,您将转到该链接


您问题中的URL引用的。该命令的其余部分只是检索文件并对其内容运行
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/
    ,依此类推

    https://raw.githubusercontent.com/Homebrew/install/master/install
    
    变成

    https://github.com/Homebrew/install/blob/master/install
    
    这与在Github上查找文件并单击Raw链接相反

    raw.githubusercontent.com/username/repo-name/branch-name/path
    
    username
    替换为创建回购协议的用户的用户名

    将回购名称替换为回购名称

    将分支机构名称替换为分支机构名称

    path
    替换为文件的路径

    要反向转到GitHub.com:

    GitHub.com/username/repo-name/directory-path/blob/branch-name/filename
    

    您是在要求我们解释安装命令是如何工作的吗?您是否查看了
    raw.githubusercontent.com
    上引用的文件内容?您看过
    curl
    的文档了吗?你知道
    $()
    在shell中做什么吗?您知道ruby-e的功能吗?我在存储库中找不到“安装”文件,这是我问的问题。请注意,rawgit.com不是raw.githubusercontent.com的别名。这是一项不隶属于GitHub的第三方服务。此外,RawGit已处于或接近生命末期;请看,我的假设是安装脚本位于主存储库中,谢谢“未处理的文件版本”是什么意思?@Tristan,这意味着您将在没有任何GitHub UI的情况下看到文件的内容,并且通常呈现的文件(例如标记)将不会显示。您只看到文件的原始文本内容。URL的参数是什么意思,例如
    https://raw.githubusercontent.com//master/filters/file.txt?_=215612
    -什么是
    ?\uu=215612
    的目的
    只是将“路径”与“搜索部分”分开(RFC 1738第3.3节)。searchpart在这里
    \uuu=215612
    。searchpart不必是搜索,它由服务器解释。我不知道这在原始文件中意味着什么。我唯一的想法是,它可以在文件中的那个点启动或停止数据,但测试表明没有什么不同。事实上,即使在一个普通的github.com页面上,我也看不到github对searchpart的解释。如果你还想知道,在这里或者在github的论坛上问一个新问题。这可能会阻止客户端缓存(因为文件的内容可能会改变)