Примечание.
В этой статье описывается синтаксис для устаревшего поиска кода, который необходимо использовать только для конечной точки 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 |
[
**размер функции:>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)