Ben*_*eys 251 git search github
有没有办法在Github项目的代码中grep一些东西?
我可以拉动源并在本地grep它,但我想知道是否可以通过Web界面或第三方替代方案.
想法?
Von*_*onC 244
2013年1月更新:全新搜索已经到来!,基于elasticsearch.org:
在ruby回购中搜索stat将表示为stat repo:ruby/ruby,现在只能使用TM.
(repo名称不区分大小写:test repo:wordpress/wordpress返回相同的test repo:Wordpress/Wordpress)

会给:

你有很多其他的搜索例子,基于追随者,或者在分叉上,或者......
更新2012年7月(Lucene搜索和索引码差,破GUI相结合的旧时代,这里保存归档):
搜索(基于SolrQuerySyntax)现在更加宽容和可怕的" Invalid search query. Try quoting it."使用时,走了默认的一切"搜索选择" :)
(我想我们都可以比蒂姆·皮斯,其中有在他的目标之一"黑客对所有GitHub的性能改进的搜索体验 ",而我没有提到这个堆栈溢出问题的时候;))
下面是Ruby代码内的grep的一个例证:它会验看回购和用户,但也为我想要的东西摆在首位,以搜索:代码!

前一期的初步答案和说明(2012年9月=> 2012年3月)
您可以使用高级搜索GitHub表单:
Code,Repositories或Users从下拉菜单中选择例如,使用该repo:username/repo-name指令将搜索限制为代码存储库.
最初的" Advanced Search"页面包括以下部分:
代码搜索:
代码搜索将查看GitHub上公开托管的所有代码.您还可以按以下方式过滤:
- 语言
language:- 存储库名称(包括用户名)
repo:- 文件路径
path:
因此,如果您选择" Code"搜索选择器,那么您在greo中查找文本的查询将起作用:

什么是令人难以置信的 无益从GitHub是:
Code"),您将收到一条错误消息:Invalid search query. Try quoting it." 
错误消息根本没有帮助你.
没有任何数量的" quoting it"会让你摆脱这个错误.
一旦收到该错误消息,您就不会看到这些部分提醒您搜索选择器(" Repositories"," Users"或" Language")与(右侧)搜索过滤器(此处为" repo:")之间的正确关联.
您所做的任何进一步尝试都不会显示这些关联(选择器 - 过滤器).只有您在上面看到的错误消息...
获取这些数组的唯一方法是单击" Advance Search"图标:

对于所有搜索过滤Everything器," "搜索选择器(默认情况下)实际上是错误的!除了" "......
(您可以想象/假设" "会帮助您选择实际使用搜索过滤器的任何搜索选择器" ",但不会.这太简单了)language:Everythingrepo:
您无法Advance Search单独通过" "字段指定所需的搜索选择器!
(但你可以用" language:",即使" Search Language"是" Search for"'类型' 下面的另一个组合框......)

因此,用户的体验通常如下:
Advanced Search",浏览过滤器的这些部分,并注意您要使用的部分:" repo:"repo:jruby/jruby stat",但使用默认的搜索选择器" Everything" FAIL!(显示关联"选择器 - 过滤器"的数组已消失)Repositories"("哇!我想在存储库中搜索...")FAIL!Users"),甚至没有看到所述选择器,只是再试一次... FAIL!所以,回顾一下,如果你想"在Github项目的代码中找到一些东西",作为OP Ben Humphreys,不要忘记选择" Code"搜索选择器......
Pat*_*key 22
最近的私有存储库有一个搜索字段,用于搜索该存储库.

令人困惑的是,看起来这个功能不适用于公共存储库.
fny*_*fny 20
UPDATE
由于XHR问题和API更改,下面的书签黑客被破坏了.
值得庆幸的是,Github现在拥有"全新的代码搜索",可以很好地完成工作.
查看这个巫毒:Github代码搜索用户脚本.
按照那里的说明进行操作,或者如果您讨厌使用脚本和扩展程序膨胀您的浏览器,请使用我的bookmarkcript标签包:
Run Code Online (Sandbox Code Playgroud)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库,点击书签,和巴姆:在页面,Ajax化的代码搜索.
CAVEAT Github必须先索引回购,然后才能进行搜索.
胡言乱语...
以下是来自带注释的ECMAScript 5.1规范库的示例搜索:
kia*_*tng 14
要在存储库中进行搜索,请在存储库/search?q=search_terms的根目录中添加 URL 参数,例如:
https://github.com/bmewburn/vscode-intelephense/search?q=phpstorm
在上面的示例中,它在Code 中返回 2 个结果,在Issues 中返回160 个结果。
stu*_*eek 10
虽然@VonC的答案适用于某些存储库,但遗憾的是,对于许多存储库而言,您现在无法做到这一点.Github根本没有索引它们(最初由@emddudley评论).他们没有在他们的网站上任何地方说明这一点,但他们会告诉你,如果你要求支持:
来自:Tim Pease
我们已经停止将新推送的代码添加到我们的codesearch索引中.代码量已超出我们当前的搜索索引,我们正在努力转向更具可扩展性的搜索体系结构.对不起,我很抱歉.我们没有估计这个新的搜索索引何时启动并运行,但是当它准备就绪时,将发布一篇博客文章(https://github.com/blog).
令人讨厌的是,除了缺少结果(也可能来自错误的查询)之外,无法确定哪些存储库没有被编入索引.
除了等待他们博客(或在这里观看SO)之外,也无法跟踪此问题.
来自:Tim Pease
我担心我们的问题跟踪器是内部的,但我们可以在新搜索索引启动并运行后立即通知您.
Joh*_*Doe 10
有一个非常好的项目,名为 github1s @ https://github.com/conwnet/github1s。
基本上,您可以将任何存储库的 url 更改https://github.com/microsoft/vscode为https://github1s.com/microsoft/vscode,然后您可以使用编辑器中的内置搜索功能来搜索存储库中的任何内容。
转到此处: https: //github.com/search并输入“ pattern repo: user_name / repo_name ”。
\n例如,要在user 的存储库cnn_learner中搜索,请输入:fastaifastai
cnn_learner repo:fastai/fastai
就是这样。唯一的烦恼是您需要额外的点击。它会告诉你:
\n\n\n我们无法\xe2\x80\x99找到任何匹配\'cnn_learner\nrepo:fastai/fastai\'的存储库
\n
因为默认情况下它会搜索与该搜索字符串匹配的存储库...
\n所以只要点击左边的“代码”,它就会显示你想要的内容。
\n或者直接使用如下 URL 获取代码搜索结果:
\nhttps://github.com/search?q=cnn_learner+repo%3Afastai%2Ffastai&type=code
\n| 归档时间: |
|
| 查看次数: |
99680 次 |
| 最近记录: |