Есть ли способ найти что-то в коде проекта 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.