Skip to main content

Поиск кода (наследие)

          Использовать синтаксис поиска по наследованию кода нужно только если вы используете API.

Примечание.

В этой статье описывается синтаксис для устаревшего поиска кода, который необходимо использовать только для конечной точки REST API для поиска кода.

Для информации о синтаксисе поиска кода, который можно использовать на GitHub, см. Понимание синтаксиса поиска кода в GitHub.

          Вы можете выполнять глобальный поиск по всем GitHub, а также выполнять поиск в определенном репозитории или организации. Для получения дополнительной информации см. [AUTOTITLE](/search-github/getting-started-with-searching-on-github/about-searching-on-github).

Искать код можно только с использованием квалификаторов поиска кода. Квалификаторы поиска, предназначенные для репозиториев, пользователей или фиксаций, не будут работать при поиске кода.

Совет

  • В этой статье содержатся ссылки на примеры поиска на веб-сайте GitHub.com, но вы можете использовать те же фильтры поиска на любой платформе GitHub . В связанном примере поиска замените github.com имя узла для платформы GitHub .
  • Список синтаксисов поиска, которые можно добавить в любой квалификатор поиска для дальнейшего улучшения результатов, см. в разделе Основные сведения о синтаксисе поиска.
  • Используйте кавычки для многословных условий поиска. Например, если вы хотите найти проблемы с меткой "Выполняется", выполните поиск label:"in progress". Регистр в поиске не учитывается.

Из-за особой сложности, которую представляет поиск кода, действует ряд ограничений.

  • Необходимо войти в личная учетная запись на GitHub для поиска кода во всех общедоступных репозиториях.
  • Код вилках доступен только для поиска, если вилку есть больше звезд, чем родительский репозиторий, а вилку репозитория есть по крайней мере одна отправленная фиксация после создания. Вилки с меньшим количеством звезд, чем родительский репозиторий или нет фиксаций, не** индексируются **для поиска кода. Чтобы включить в результаты поиска вилки с большим числом звезд, чем их родитель, и по крайней мере одна отправленная фиксация в результатах поиска, необходимо добавить fork:true или fork:only в запрос. Дополнительные сведения см. в разделе Поиск в вилках.
  • Для поиска кода индексируется только ветвь по умолчанию .
  • Доступны для поиска только файлы меньше 384 КБ.
  • До 4 000 частных репозиториев доступны для поиска. Эти 4 000 репозиториев будут самыми обновлёнными из первых 10 000 частных репозиториев, к которым у вас есть доступ.
  • Поиск доступен только в репозиториях с менее чем 500 000 файлов.
  • Доступны для поиска только те репозитории, которые были активны или были возвращены в результатах поиска за последний год.
  • Архивные репозитории недоступны для поиска.
  • За исключением поиска по имени файла (filename), при поиске исходного кода обязательно необходимо использовать по крайней мере одно условие поиска. Например, запрос language:javascript недопустим, а amazing language:javascript допустим.
  • В результатах поиска могут отображать максимум два фрагмента из одного файла, но в файле может быть больше результатов.
  • В поисковом запросе нельзя использовать следующие подстановочные знаки: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @. При поиске они просто игнорируются.

Поиск по содержимому файла или пути к файлу

С помощью квалификатора in можно ограничить поиск содержимым файла исходного кода, путем к файлу или и тем и другим. Если этот квалификатор не указан, поиск выполняется только в содержимом файла.

КвалификаторПример
in:fileЗапросу octocat in:file соответствует код со словом "octocat" в содержимом файла.
in:pathЗапросу octocat in:path соответствует код со словом "octocat" в пути к файлу.
in:file,pathЗапросу octocat in:file,path соответствует код со словом "octocat" в содержимом файла или пути к файлу.

Поиск в репозиториях пользователя или организации

Для поиска кода во всех репозиториях, принадлежащих определенному пользователю или организации, можно использовать user квалификатор.org Для поиска кода в определенном репозитории можно использовать квалификатор repo.

КвалификаторПример
user:USERNAMEЗапросу user:defunkt extension:rb соответствует код из @defunkt с расширением .rb.
org:ORGNAME
          [
          **org:github extension:js**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+extension%3Ajs&type=Code) совпадает с кодом из GitHub, который заканчивается на <em>.js</em>.

| repo:USERNAME/REPOSITORY | Запросу repo:mozilla/shumway extension:as соответствует код из проекта shumway @mozilla с расширением .as.

Поиск по расположению файла

С помощью квалификатора path можно искать исходный код, который находится в определенном расположении в репозитории. Для поиска файлов, расположенных на корневом уровне репозитория, используйте path:/. Укажите имя каталога или путь к нему для поиска файлов, находящихся в этом каталоге или в любом из его подкаталогов.

КвалификаторПример
path:/Запросу octocat filename:readme path:/ соответствуют файлы сведений со словом "octocat", находящиеся на корневом уровне репозитория.
path:DIRECTORYЗапросу form path:cgi-bin language:perl соответствуют файлы Perl со словом "form" в каталоге cgi-bin или в любом из его подкаталогов.
path:PATH/TO/DIRECTORYЗапросу console path:app/public language:javascript соответствуют файлы JavaScript со словом "console" в каталоге app/public или в любом из его подкаталогов (даже если они находятся в app/public/js/form-validators).

Поиск по языку

Искать код можно по языку, на котором он написан. Квалификатор language может указывать название или псевдоним языка. Полный список поддерживаемых языков с именами и псевдонимами см. в репозитории github-linguist/linguist.

КвалификаторПример
language:LANGUAGEЗапросу element language:xml size:100 соответствует код со словом "element", помеченный как XML и содержащий ровно 100 байт.
language:LANGUAGEЗапросу display language:scss соответствует код со словом "display", помеченный как SCSS.
language:LANGUAGEЗапросу org:mozilla language:markdown соответствует код из всех репозиториев @mozilla, помеченный как Markdown.

Поиск по размеру файла

С помощью квалификатора size можно искать исходный код по размеру файла, в котором он содержится. Для фильтрации результатов по размеру файла, в котором найден код, в байтах с квалификатором size используются квалификаторы "больше", "меньше" и квалификатор диапазона.

КвалификаторПример
size:n
          [
          **размер функции:&gt;10000 на языке:python**](https://github.com/search?q=function+size%3A%3E10000+language%3Apython&type=Code) сопоставляет код со словом «функция», написанным на Python, в файлах объёмом более 10 КБ.

Поиск по имени файла

Квалификатору filename соответствуют файлы кода с определенным именем. Файл в репозитории также можно найти с помощью средства поиска файлов. Дополнительные сведения см. в разделе Поиск файлов на GitHub.

КвалификаторПример
filename:FILENAMEЗапросу filename:linguist соответствуют файлы с именем "linguist".
filename:FILENAMEЗапросу filename:.vimrc commands соответствуют файлы VIMRC со словом "commands".
filename:FILENAMEЗапросу filename:test_helper path:test language:ruby соответствуют файлы Ruby с именем test_helper в каталоге test.

Поиск по расширению имени файла

Квалификатору extension соответствуют файлы кода с определенным расширением имени.

КвалификаторПример
extension:EXTENSIONЗапросу form path:cgi-bin extension:pm соответствует код со словом "form" в каталоге cgi-bin с расширением имени файла .pm.
extension:EXTENSIONЗапросу icon size:>200000 extension:css соответствуют файлы размером более 200 КБ, которые имеют расширение CSS и содержат слово "icon".

Дополнительные материалы

  •         [AUTOTITLE](/search-github/getting-started-with-searching-on-github/sorting-search-results)
    
  •         [AUTOTITLE](/search-github/searching-on-github/searching-in-forks)
    
  •         [AUTOTITLE](/repositories/working-with-files/using-files/navigating-code-on-github)