Есть ли способ найти что-то в коде проекта Github?
Я мог бы извлечь исходный код и выполнить его локально, но мне было интересно, возможно ли это через веб-интерфейс или стороннюю альтернативу.
Идеи?
Есть ли способ найти что-то в коде проекта Github?
Я мог бы извлечь исходный код и выполнить его локально, но мне было интересно, возможно ли это через веб-интерфейс или стороннюю альтернативу.
Идеи?
Ответы:
Обновление января 2013: новый поиск прибыл! , основанный наasticsearch.org :
Поиск статистики в репо ruby будет выражаться как stat repo:ruby/ruby, и теперь будет работать только ТМ .
(имя репо не чувствительно к регистру: test repo:wordpress/wordpressвозвращает так же, как test repo:Wordpress/Wordpress)

Дам:

И у вас есть много других примеров поиска, основанных на подписчиках , или на вилках , или ...
Обновление июль 2012 г. (старые времена поиска Lucene и плохая индексация кода в сочетании с неработающим графическим интерфейсом хранятся здесь для архивирования):
Поиск (основанный на SolrQuerySyntax ) теперь более разрешающий, и страшный " Invalid search query. Try quoting it." исчезает при использовании селектора поиска по умолчанию "Все" :)
(Я полагаю, что мы можем все, кроме Тима Пиза , который преследовал одну из своих целей - «взломать улучшенный опыт поиска для всех свойств GitHub », и я упоминал этот вопрос переполнения стека в то время;))
Вот иллюстрация grep в коде ruby: он будет искать репозитории и пользователей, а также то, что я хотел искать в первую очередь: код!

Первоначальный ответ и иллюстрация предыдущего номера (сентябрь 2012 г. => март 2012 г.)
Вы можете использовать форму расширенного поиска GitHub :
Code, Repositoriesили Usersиз раскрывающегося списка иНапример, используйте repo:username/repo-nameдирективу, чтобы ограничить поиск хранилищем кода .
Начальная Advanced Searchстраница " " включает раздел:
Поиск кода :
Поиск по коду просматривает весь код, размещенный на GitHub. Вы также можете фильтровать по:
- язык
language:- имя хранилища (включая имя пользователя)
repo:- путь к файлу
path:
Поэтому, если вы выберете Codeселектор поиска " ", тогда ваш запрос для текста в репо будет работать:

Что невероятно бесполезно от GitHub, так это:
Code"), вы получите сообщение об ошибке: Invalid search query. Try quoting it." 
сообщение об ошибке не поможет вам вообще.
Никакое количество " quoting it" не поможет вам избежать этой ошибки.
как только вы получите это сообщение об ошибке, вы не получите разделы, напоминающие вам о правильной связи между поисковыми селекторами (" Repositories", " Users" или " Language") и (правыми) поисковыми фильтрами (здесь " repo:").
Любая дальнейшая попытка не отобразит эти ассоциации (селекторы-фильтры). Только сообщение об ошибке, которое вы видите выше ...
Единственный способ вернуть эти массивы - щелкнуть значок " Advance Search":

EverythingСелектор поиска " ", который является настройкой по умолчанию, на самом деле является неправильным для всех фильтров поиска! За исключением " language:" ...
(Вы можете представить / предположить, что " Everything" поможет вам выбрать любой селектор поиска, который действительно работает с поисковым фильтром " repo:", но нет. Это было бы слишком просто)
Вы не можете указать нужный селектор поиска только через поле " 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» селектор поиска ...
repo:"jruby/jruby" stat repo:"jruby" stat jruby: statничего из того, что работает
Последние частные репозитории имеют поле поиска для поиска в этом репо.

Как ни странно, похоже, что эта функция недоступна для публичных репозиториев.
ОБНОВИТЬ
Взлом букмарклета ниже сломан из-за проблем XHR и изменений API.
К счастью, у Github теперь есть «Поиск по всему новому коду», который отлично справляется со своей задачей.
Заказ этого вуду: GitHub поиск кода userscript .
Следуйте указаниям там, или, если вы ненавидите раздувать ваш браузер с помощью скриптов и расширений, воспользуйтесь моей закладкой из пользовательского скрипта:
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 : in-page, ajaxified .
CAVEAT Github должен проиндексировать репо, прежде чем вы сможете его искать.
Абракадабра ...
Вот пример поиска из аннотированного репозитория спецификации ECMAScript 5.1:
Хотя ответ @ VonC работает для некоторых репозиториев, к сожалению, для многих репозиториев вы не можете прямо сейчас. Github просто не индексирует их (как первоначально писал @emddudley). Они нигде не заявили об этом на своем веб-сайте, но они скажут вам, если вы попросите поддержки:
От: Тим Пиз
Мы прекратили добавлять недавно вставленный код в наш индекс поиска кода. Объем кода перерос наш текущий поисковый индекс, и мы работаем над переходом к более масштабируемой поисковой архитектуре. Я извиняюсь за раздражение. У нас нет оценки того, когда этот новый поисковый индекс будет запущен и работает, но когда он будет готов, будет опубликовано сообщение в блоге (https://github.com/blog).
Досадно, что нет способа определить, какие репозитории не проиндексированы, кроме отсутствия результатов (что также может быть связано с неправильным запросом).
Также нет способа отследить эту проблему, кроме как ждать, пока они не опубликуют ее (или посмотреть здесь на SO).
От: Тим Пиз
Я боюсь, что наш трекер проблем является внутренним, но мы можем уведомить вас, как только будет запущен новый поисковый индекс.
Гугл позволяет искать в проекте, но не код :(
Я ищу исходный код внутри репозитория Github с бесплатным расширением Sourcegraph Chrome ... Но я сначала скачал Chrome , я знал, что другие браузеры поддерживают его, например, - и, возможно, только - Firefox.
Я пролистал документы расширения Chrome SourceForge, а затем посмотрел, что мне нужно для поиска имен каталогов с помощью самой поисковой системы Github, прочитав некоторые из документов поиска Gitub's Codebase.