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

Дает:

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

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

Что невероятно unhelpful из 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" 'type' one...)

Таким образом, пользовательский интерфейс обычно выглядит следующим образом:
Advanced Search", просматриваете эти разделы фильтров и замечаете тот, который хотите использовать: "repo:" repo:jruby/jruby stat", но с селектором поиска по умолчанию "Everything" FAIL! (и массивы, отображающие ассоциацию "Селекторы-фильтры", ушли)Repositories" ( "Да! Я хочу искать в репозиториях..." ) FAIL!Users" ), даже не глядя на указанный селектор, просто чтобы дать ему еще одну попытку... FAIL!Итак, чтобы повторить, если вы хотите "grep для чего-то внутри кода проекта Github", как OP Ben Humphreys, не забудьте выбрать Селектор поиска Code...
В недавних частных хранилищах есть поле поиска для поиска через это репо.

Как ни странно, похоже, что эта функция недоступна публичным репозиториям.
UPDATE
Взломок букмарклета ниже сломан из-за проблем 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 repo, щелкните закладку и bam: на странице, ajaxified code поиск.
CAVEAT Github должен индексировать репо, прежде чем вы сможете его искать.
абракадабра...
Здесь образец поиска из аннотированной спецификации ECMAScript 5.1 Репозиторий:
В то время как ответ @VonC работает для некоторых репозиториев, к сожалению, для многих репозиториев вы не можете сейчас. Github просто не индексирует их (как было прокомментировано первоначально by @emddudley). Они не заявили об этом нигде на своем веб-сайте, но они скажут вам, если вы спросите поддержку:
От: Tim Pease
Мы перестали добавлять новый толкаемый код в наш индекс кода поиска. Объем кода перерос наш текущий индекс поиска, и мы работаем над переходом на более масштабируемую поисковую архитектуру. Прошу прощения за досаду. У нас нет оценки того, когда этот новый поисковый индекс будет запущен и запущен, но когда он будет готов, публикация блога будет опубликована (https://github.com/blog).
Досадно, что невозможно определить, какие репозитории не индексируются, кроме отсутствия результатов (что также может быть связано с плохим запросом).
Также не существует способа отслеживать эту проблему, кроме как ждать, пока они ее опубликуют (или смотрите здесь на SO).
От: Tim Pease
Я боюсь, что наш трекер ошибок является внутренним, но мы можем уведомить вас, как только появится новый индекс поиска.
Google позволяет выполнять поиск в проекте, но не код: (
Я ищу исходный код в репозиториях Github с бесплатным расширением Sourcegraph Chrome ... Но я сначала скачал Chrome, я знал, что другие браузеры поддерживают его, например, - и, возможно, только - Firefox.
Я пролистал Документацию по расширению Chrome SourceForge, а затем также посмотрел, что мне нужно для поиска имен каталогов с помощью самой поисковой системы Github, прочитав некоторые из Документа по поиску кодовой базы Github.
Документация GitHub гласит -
octocat in:fileсоответствует коду, где в файле появляется "octocat" содержание.