git - 在 Github 项目中搜索代码

标签 git search github

有没有办法在 Github 项目代码中查找某些内容?

我可以提取源代码并在本地进行 grep,但我想知道是否可以通过 Web 界面或 3rd 方替代方案。

想法?

最佳答案

2013 年 1 月更新: brand new search has arrived! , 基于 elasticsearch.org :

在 ruby​​ 存储库中搜索 stat 将表示为 stat repo:ruby/ruby ,现在就可以工作了。
( repo 名称不区分大小写: test repo:wordpress/wordpress 返回与 test repo:Wordpress/Wordpress 相同)

enter image description here

会给:

enter image description here

您还有许多其他的搜索示例,基于 on followers , 或 on forks , 要么...

2012 年 7 月更新 (旧时代的 Lucene 搜索和糟糕的代码索引,加上损坏的 GUI,保存在这里以供存档):

搜索(基于 SolrQuerySyntax )现在更加宽松,使用默认搜索选择器“Everything”时,可怕的“Invalid search query. Try quoting it.”消失了:)

(我想我们都可以比 Tim Pease ,当时他的目标之一是 "hacking on improved search experiences for all GitHub propertiesI did mention this Stack Overflow question ;))

这是 ruby​​ 代码中的 grep 的说明:它将查找存储库和用户,但也会查找我首先想要搜索的内容:代码!

GitHub more permissive search results

前一期的初步回答和说明(2012 年 9 月 => 2012 年 3 月)

您可以使用 advanced search GitHub form :

  • 选择 Code , RepositoriesUsers从下 pull 菜单和
  • 使用 为该搜索类型列出的相应前缀 .

  • 例如,使用 repo:username/repo-name 指令将搜索限制为 代码存储库。
    最初的“Advanced Search”页面包括以下部分:

    Code Search:

    The Code search will look through all of the code publicly hosted on GitHub. You can also filter by :

    • the language language:
    • the repository name (including the username) repo:
    • the file path path:


    因此,如果您选择“Code ”搜索选择器,那么您对 ​​repo 中文本的查询 grepping 将起作用:

    Good Search selector

    什么不可思议无用 来自 GitHub 的是:
  • 如果您忘记放置正确的搜索选择器(此处为“Code”),您将收到一条错误消息:
    " Invalid search query. Try quoting it. "

  • Wrong selector for the code filer
  • 错误消息根本没有帮助你。
    再多的“quoting it ”都无法让您摆脱这个错误。
  • 一旦您收到该错误消息,您就不会收到提醒您搜索选择器(“Repositories ”、“Users ”或“Language ”)和(右)搜索过滤器之间正确关联的部分(此处为“repo:”)。
    您所做的任何进一步尝试都不会显示这些关联(选择器-过滤器)。只有您在上面看到的错误消息...
    取回这些数组的唯一方法是单击“Advance Search”图标:

  • Advance Search Icon on GitHub
  • Everything ”搜索选择器,这是默认的,实际上是所有搜索过滤器的错误选择!除了“language:”...
    (你可以想象/假设“Everything ”会帮助你选择与搜索过滤器“repo: ”一起工作的任何搜索选择器,但不是。那太容易了)
  • 您不能单独通过“Advance Search”字段指定您想要的搜索选择器!
    (但您可以输入“language:”,即使“Search Language”是“Search for”下方的另一个组合框,“输入”...)

  • Wrong search selector

    所以,用户的体验通常是这样的:
  • 你点击“Advanced Search”,浏览过滤器的那些部分,并注意到你想使用的一个:“repo:
  • 您进行第一个高级搜索“repo:jruby/jruby stat”,但使用默认搜索选择器“Everything
    => FAIL ! (并且显示关联“选择器-过滤器”的数组是 消失了 )
  • 您注意到“搜索”选择器,选择第一个选项“Repositories”(“Dah!我想在存储库中搜索...”)
    => FAIL !
  • 沮丧地,你选择了下一个选择器(这里是“Users”),甚至没有看那个选择器,只是再试一次......
    => FAIL !
  • “搞砸了,GitHub 搜索是 坏了 !我走了!”
    ...
    (GitHub 高级搜索实际上并没有被破坏。只有他们的 GUI 是...)


  • 因此,回顾一下,如果您想“在 Github 项目代码中查找某些内容”,如 OP Ben Humphreys ,不要忘记选择“Code”搜索选择器...

    关于git - 在 Github 项目中搜索代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3616221/

    相关文章:

    git - 如何使用 git flow/hubflow 在发布分支中添加修复

    git - "HEAD not found below refs/heads"在我使用 CR/CRLF 更改推送提交之后

    git - *通常*认为有多少 git sha 是唯一标识给定代码库中的更改所必需的?

    git - 你可以将 Git Repos 组织到文件夹中吗?

    MySql:如何从一个数据库读取表,同时每行搜索第二个数据库表?

    git - 批量删除已经 rebase 和 merge 的本地分支

    git config core.autocrlf 是 true,但我仍然收到警告?

    algorithm - 关于遗传算法

    PHP 如果用户从选择列表选项中选择 "ALL"选项,如何显示数据库的所有结果

    github - 如何让每个人都可以编辑 GitHub 上的存储库?