searchGithub项目中的代码
有没有办法grep的东西在Github项目的代码?
我可以把源代码放在本地,然后grep它,但是我想知道是否可以通过Web界面或第三方的替代scheme。
想法?
2013年1月更新:一个全新的search已经到来! ,基于elasticsearch.org :
在ruby回购search统计将表示为stat repo:ruby/ruby ,现在只是工作TM 。 
  (回购名称不区分大小写: test repo:wordpress/wordpress返回相同的test repo:Wordpress/Wordpress ) 

会给:

而且你还有很多其他search的例子,基于追随者 ,或叉子 ,或…
2012年7月更新 (过去的Lucenesearch和糟糕的代码索引,加上破坏的GUI,保存在这里归档):
 search(基于SolrQuerySyntax )现在更加宽容,使用默认searchselect器“Everything”时,可怕的“ Invalid search query. Try quoting it. 
(我想我们可以比Tim Pease ,他的目标之一是“对所有GitHub属性进行改进的search体验 ”,而且当时我也提到了这个Stack Overflow问题 ;))
下面是一个ruby代码中的grep的例子:它将寻找回购和用户,但也为我想search的第一个地方:代码!

前期问题的初步回答和说明(2012年9月=> 2012年3月)
您可以使用高级searchGitHub表单 :
-  从下拉列表中selectCode,Repositories或Users
- 使用为该searchtypes列出的相应前缀 。
 例如,使用repo:username/repo-name指令将search限制在代码库中。 
 最初的“ Advanced Search ”页面包括以下部分: 
代码search:
代码search将查看所有公开托pipe在GitHub上的代码。 您也可以按照以下方式过滤
- 语言
language:- 存储库名称(包括用户名)
repo:- 文件path
path:
 所以,如果您select“ Code ”searchselect器,那么您的查询在回购中的文本grepping将工作: 

GitHub 非常 无用的是:
-  如果你忘记把正确的searchselect器(这里是“ Code”),你会得到一个错误信息:
 “Invalid search query. Try quoting it.

- 
错误信息并没有帮助你。 
 没有任何“quoting it”会使你摆脱这个错误。
- 
一旦你得到这个错误信息,你不会得到提醒你searchselect器 (“ Repositories”,“Users”或“Language”)和(右)searchfilter (这里“repo:” )。
 你做的任何进一步的尝试都不会显示那些关联(select器filter)。 只有你看到的错误信息…
 取回这些数组的唯一方法是单击“Advance Search”图标:

- 
对于所有的searchfilter来说,默认的“ Everything”searchselect器实际上是错误的 ! 除了“language:”…
 (你可以想象/假定“Everything”会帮助你selectsearchfilter“repo:”实际工作的任何一个searchselect器,但这样做太简单了)
- 
您无法单独通过“ Advance Search”字段指定所需的searchselect器!
 (但你可以为“language:”,即使“Search Language”是另一个combobox“Search for”types“一个…”

所以,用户的体验通常如下:
-  你点击“ Advanced Search”,浏览filter的那些部分,并注意你想要使用的一个:“repo:”
-  你做了第一个高级search“ repo:jruby/jruby stat”,但是默认searchselect器“Everything”
 =>FAIL! (和显示关联“select器 – filter”的数组已经消失 )
-  您注意到“search”select器thingy,select第一个select“ Repositories”(“Dah!我想在存储库内search…”)
 =>FAIL!
-  沮丧,你select下一个select器的select(这里,“ Users”),甚至没有看到所述select器,只是给它一个尝试…
 =>FAIL!
-   “搞砸了,GitHubsearch已经结束了 !我要离开这里了!” 
 …
 (GitHub高级search实际上并没有被破坏,只有他们的GUI是…)
 所以,回顾一下,如果你想“在Github项目的代码中寻找东西”,就像OP Humphreys一样 ,不要忘记select“ Code ”searchselect器… 
最近的私人存储库有一个search领域,通过回购search。

但是,看起来这个function对公共仓库是不可用的。
UPDATE
由于XHR问题和API更改,以下小书签被破坏。
幸好Github现在有一个“全新的代码search” ,这个工作非常出色。
签出这个巫术: Github代码searchuserscript 。
按照那里的指示,或者如果你讨厌使用脚本和扩展名来浏览你的浏览器,请使用我的书签化的脚本包:
javascript:(function(){var s='https://github.com/skratchdot/github-code-search.user.js/raw/master/github-code-search.user.js',t='text/javascript',d=document,n=navigator,e;(e=d.createElement('script')).src=s;e.type=t;d.getElementsByTagName('head')[0].appendChild(e)})();doIt('');void('');将上述来源保存为新书签的url。 浏览任何Github的回购,点击书签,然后bam : 页面内的Ajax代码search 。
CAVEAT Github必须索引一个repo,然后才能search它。
胡言乱语…
以下是来自注释的ECMAScript 5.1规范存储库的示例search:
虽然@ VonC的答案适用于某些存储库,不幸的是,许多存储库,你现在不能。 Github根本就没有对它们进行索引(正如@emddudley最初所评论的那样)。 他们没有在他们的网站上的任何地方说过,但他们会告诉你,如果你要求支持:
来自:Tim Pease
我们已经停止将新推入的代码添加到我们的codesearch索引中。 代码量超过了我们当前的search索引,而我们正在努力转向更具扩展性的search架构。 我为这个烦恼感到抱歉。 我们没有估计这个新的search索引何时开始运行,但是当它准备好时,博客文章将被发布(https://github.com/blog)。;
令人烦恼的是,除了缺less结果(也可能来自于错误的查询)之外,没有办法知道哪些存储库没有被索引。
除了等待他们写博客(或者在这里观看)之外,没有办法跟踪这个问题。
来自:Tim Pease
恐怕我们的问题跟踪器是内部的,但是一旦新的search索引启动并运行,我们就可以通知您。
谷歌允许你在项目中search,但不是代码:(
网站:https://github.com/CreateJS/EaselJStesting


