有一种方法来grep的东西在一个Github项目的代码?

我可以拉源和grep它在本地,但我想知道它是否可能通过网络界面或第三方替代方案。

想法吗?


当前回答

有一个非常好的项目叫做github1s @ https://github.com/conwnet/github1s。

基本上,您可以将任何repo的url更改为https://github.com/microsoft/vscode到https://github1s.com/microsoft/vscode,然后您可以使用编辑器中的内置搜索功能,在存储库中搜索任何内容。

其他回答

要在存储库中搜索,添加URL参数/搜索?Q =search_terms在repo的根目录,例如:

https://github.com/bmewburn/vscode-intelephense/search?q=phpstorm

在上面的例子中,它在Code中返回2个结果,在Issues中返回160个结果。

虽然@VonC的答案适用于一些存储库,但不幸的是,对于许多存储库,您现在还不能。Github只是没有索引他们(最初由@emddudley评论)。他们的网站上没有说明这一点,但如果你寻求支持,他们会告诉你:

发件人:蒂姆·皮斯 我们已经停止在codesearch索引中添加新推送的代码。代码的数量已经超过了我们当前的搜索索引,我们正在努力转向一个更可扩展的搜索架构。很抱歉给你添麻烦了。我们还不知道这个新的搜索索引何时会启动并运行,但当它准备就绪时,我们会发布一篇博客文章(https://github.com/blog)。

令人恼火的是,除了缺少结果(也可能是由于错误的查询)之外,没有办法告诉哪些存储库没有被索引。

也没有办法跟踪这个问题,除了等待他们的博客(或在这里看SO)。

发件人:蒂姆·皮斯 恐怕我们的问题跟踪器是内部的,但一旦新的搜索索引启动并运行,我们就会通知您。

只需访问该回购的主页,然后在左上方的搜索框中输入您的搜索词。

第一个建议的结果将被标记为“in this repository”。点击它,或者直接按回车键。

更新

由于XHR问题和API更改,下面的bookmarklet黑客被破坏。

值得庆幸的是,Github现在有“一个全新的代码搜索”,它可以出色地完成这项工作。


Checkout this voodoo: Github code search userscript. Follow the directions there, or if you hate bloating your browser with scripts and extensions, use my bookmarkified bundle of the userscript: javascript:(function(){var s='https://raw.githubusercontent.com/skratchdot/github-enhancement-suite/master/build/github-enhancement-suite.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(''); Save the source above as the URL of a new bookmark. Browse to any Github repo, click the bookmark, and bam: in-page, ajaxified code search. CAVEAT Github must index a repo before you can search it. Abracadabra... Here's a sample search from the annotated ECMAScript 5.1 specification repository:

最近的私有存储库有一个用于搜索该回购的搜索字段。

然而,令人困惑的是,公共存储库似乎无法使用此功能。