# Поиск кода

поиска кода. Вы можете искать код и GitHub сузить результаты с помощью этих квалификаторов поиска в любой комбинации.

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

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

> \[!TIP]
>
> * В этой статье содержатся ссылки на примеры поиска на веб-сайте GitHub.com, но вы можете использовать те же фильтры поиска на любой платформе GitHub . В связанном примере поиска замените `github.com` имя узла для платформы GitHub .
> * Список синтаксисов поиска, которые можно добавить в любой квалификатор поиска для дальнейшего улучшения результатов, см. в разделе [Основные сведения о синтаксисе поиска](/ru/enterprise-server@3.22/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax).
> * Используйте кавычки для многословных условий поиска. Например, если вы хотите найти проблемы с меткой "Выполняется", выполните поиск `label:"in progress"`. Регистр в поиске не учитывается.

## Особенности поиска кода

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

* Необходимо войти в личная учетная запись на GitHub для поиска кода во всех общедоступных репозиториях.
* Код вилках [](/ru/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) доступен только для поиска, если вилку есть больше звезд, чем родительский репозиторий, а вилку репозитория есть по крайней мере одна отправленная фиксация после создания. Вилки с меньшим количеством звезд, чем родительский репозиторий или нет фиксаций, не\*\* индексируются \*\*для поиска кода. Чтобы включить в результаты поиска вилки с большим числом звезд, чем их родитель, и по крайней мере одна отправленная фиксация в результатах поиска, необходимо добавить `fork:true` или `fork:only` в запрос. Дополнительные сведения см. в разделе [Поиск в вилках](/ru/enterprise-server@3.22/search-github/searching-on-github/searching-in-forks).
* Для поиска кода индексируется только *ветвь по умолчанию* .
* Доступны для поиска только файлы меньше 5 МБ доступны для поиска.
* Только первые 500 КБ каждого файла доступны для поиска.
* До 4 000 частных и внутренних репозиториев доступны для поиска. Эти 4 000 репозиториев будут самыми обновлёнными из первых 10 000 частных и внутренних репозиториев, к которым у вас есть доступ.
* Поиск доступен только в репозиториях с менее чем 500 000 файлов.
* Архивные репозитории недоступны для поиска.
* За исключением поиска по имени файла ([`filename`](#search-by-filename)), при поиске исходного кода обязательно необходимо использовать по крайней мере одно условие поиска. Например, запрос [`language:javascript`](https://github.com/search?utf8=%E2%9C%93\&q=language%3Ajavascript\&type=Code\&ref=searchresults) недопустим, а [`amazing language:javascript`](https://github.com/search?utf8=%E2%9C%93\&q=amazing+language%3Ajavascript\&type=Code\&ref=searchresults) допустим.
* В результатах поиска могут отображать максимум два фрагмента из одного файла, но в файле может быть больше результатов.
* В поисковом запросе нельзя использовать следующие подстановочные знаки: <code>. , : ; / \ \` ' " = \* ! ? # $ & + ^ | \~ < > ( ) { } \[ ] @</code>. При поиске они просто игнорируются.

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

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

| Квалификатор   | Пример                                                                                                                                                                         |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `in:file`      | Запросу [**octocat in:file**](https://github.com/search?q=octocat+in%3Afile\&type=Code) соответствует код со словом "octocat" в содержимом файла.                              |
| `in:path`      | Запросу [**octocat in:path**](https://github.com/search?q=octocat+in%3Apath\&type=Code) соответствует код со словом "octocat" в пути к файлу.                                  |
| `in:file,path` | Запросу [**octocat in:file,path**](https://github.com/search?q=octocat+in%3Afile%2Cpath\&type=Code) соответствует код со словом "octocat" в содержимом файла или пути к файлу. |

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

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

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

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

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

| Квалификатор                                 | Пример                                                                                                                                                                                                                                                                                                                                            |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <code>path:/</code>                          | Запросу [**octocat filename:readme path:/**](https://github.com/search?utf8=%E2%9C%93\&q=octocat+filename%3Areadme+path%3A%2F\&type=Code) соответствуют файлы *сведений* со словом "octocat", находящиеся на корневом уровне репозитория.                                                                                                         |
| <code>path:<em>DIRECTORY</em></code>         | Запросу [**form path:cgi-bin language:perl**](https://github.com/search?q=form+path%3Acgi-bin+language%3Aperl\&type=Code) соответствуют файлы Perl со словом "form" в каталоге <em>cgi-bin</em> или в любом из его подкаталогов.                                                                                                                  |
| <code>path:<em>PATH/TO/DIRECTORY</em></code> | Запросу [**`console path:app/public language:javascript`**](https://github.com/search?q=console+path%3A%22app%2Fpublic%22+language%3Ajavascript\&type=Code) соответствуют файлы JavaScript со словом "console" в каталоге <em>app/public</em> или в любом из его подкаталогов (даже если они находятся в <em>app/public/js/form-validators</em>). |

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

Искать код можно по языку, на котором он написан. Квалификатор `language` может указывать название или псевдоним языка. Полный список поддерживаемых языков с именами и псевдонимами см. в [репозитории](https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml) github-linguist/linguist.

| Квалификатор                            | Пример                                                                                                                                                                                                          |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <code>language:<em>LANGUAGE</em></code> | Запросу [**element language:xml size:100**](https://github.com/search?q=element+language%3Axml+size%3A100\&type=Code) соответствует код со словом "element", помеченный как XML и содержащий ровно 100 байт.    |
| <code>language:<em>LANGUAGE</em></code> | Запросу [**display language:scss**](https://github.com/search?q=display+language%3Ascss\&type=Code) соответствует код со словом "display", помеченный как SCSS.                                                 |
| <code>language:<em>LANGUAGE</em></code> | Запросу [**org:mozilla language:markdown**](https://github.com/search?utf8=%E2%9C%93\&q=org%3Amozilla+language%3Amarkdown\&type=Code) соответствует код из всех репозиториев @mozilla, помеченный как Markdown. |

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

С помощью квалификатора `size` можно искать исходный код по размеру файла, в котором он содержится. Для фильтрации результатов по размеру файла, в котором найден код, в байтах с квалификатором `size` используются [квалификаторы "больше", "меньше" и квалификатор диапазона](/ru/enterprise-server@3.22/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax).

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

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

Квалификатору `filename` соответствуют файлы кода с определенным именем. Файл в репозитории также можно найти с помощью средства поиска файлов. Дополнительные сведения см. в разделе [Поиск файлов на GitHub](/ru/enterprise-server@3.22/search-github/searching-on-github/finding-files-on-github).

| Квалификатор                            | Пример                                                                                                                                                                                                                              |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <code>filename:<em>FILENAME</em></code> | Запросу [**filename:linguist**](https://github.com/search?utf8=%E2%9C%93\&q=filename%3Alinguist\&type=Code) соответствуют файлы с именем "linguist".                                                                                |
| <code>filename:<em>FILENAME</em></code> | Запросу [**filename:.vimrc commands**](https://github.com/search?q=filename%3A.vimrc+commands\&type=Code) соответствуют файлы *VIMRC* со словом "commands".                                                                         |
| <code>filename:<em>FILENAME</em></code> | Запросу [**filename:test\_helper path:test language:ruby**](https://github.com/search?q=minitest+filename%3Atest_helper+path%3Atest+language%3Aruby\&type=Code) соответствуют файлы Ruby с именем *test\_helper* в каталоге *test*. |

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

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

| Квалификатор                              | Пример                                                                                                                                                                                                                                       |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <code>extension:<em>EXTENSION</em></code> | Запросу [**form path:cgi-bin extension:pm**](https://github.com/search?q=form+path%3Acgi-bin+extension%3Apm\&type=Code) соответствует код со словом "form" в каталоге <em>cgi-bin</em> с расширением имени файла <em>.pm</em>.               |
| <code>extension:<em>EXTENSION</em></code> | Запросу [**icon size:>200000 extension:css**](https://github.com/search?utf8=%E2%9C%93\&q=icon+size%3A%3E200000+extension%3Acss\&type=Code) соответствуют файлы размером более 200 КБ, которые имеют расширение CSS и содержат слово "icon". |

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

* [Сортировка результатов поиска](/ru/enterprise-server@3.22/search-github/getting-started-with-searching-on-github/sorting-search-results)
* [Поиск в вилках](/ru/enterprise-server@3.22/search-github/searching-on-github/searching-in-forks)