Настройка исключения содержимого для репозитория
Параметры репозитория можно использовать для указания содержимого в репозитории, которое GitHub Copilot должно игнорироваться.
Примечание.
GitHub Copilot CLI, Агент кодирования Copilot и режим агента в Копилот Чат в IDE не поддерживают исключение содержимого. Для получения дополнительной информации о функциях Copilot см. АВТОЗАГОЛОВОК, АВТОЗАГОЛОВОК и АВТОЗАГОЛОВОК.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

-
В разделе "Код и автоматизация" боковой панели щелкните Copilot и щелкните "Исключение содержимого".
Если репозиторий наследует все исключения из родительской организации или от организаций в одном предприятии, вы увидите один или несколько серых прямоугольник в верхней части страницы, содержащий сведения об этих исключениях. Эти параметры нельзя изменить.
-
В поле "Пути, которые следует исключить в этом репозитории", введите пути к файлам, из которых следует исключить Copilot .
Используйте формат:
- "/PATH/TO/DIRECTORY/OR/FILE"с каждым путем в отдельной строке. Вы можете добавить комментарии, запуская строку с#.Совет
Для указания путей к файлам можно использовать сопоставление шаблонов fnmatch. Шаблоны являются нечувствительными к регистру. См . файл в документации по ruby-doc.org.
Пример путей, указанных в параметрах репозитория
# Ignore the `/src/some-dir/kernel.rs` file in this repository. - "/src/some-dir/kernel.rs" # Ignore files called `secrets.json` anywhere in this repository. - "secrets.json" # Ignore all files whose names begin with `secret` anywhere in this repository. - "secret*" # Ignore files whose names end with `.cfg` anywhere in this repository. - "*.cfg" # Ignore all files in or below the `/scripts` directory of this repository. - "/scripts/**"
- "/src/some-dir/kernel.rs"Ignore the /src/some-dir/kernel.rs file in this repository.
- "secrets.json"Ignore files called secrets.json anywhere in this repository.
- "secret*"Ignore all files whose names begin with secret anywhere in this repository.
- "*.cfg"Ignore files whose names end with .cfg anywhere in this repository.
- "/scripts/**"Ignore all files in or below the /scripts directory of this repository.
# Ignore the `/src/some-dir/kernel.rs` file in this repository.
- "/src/some-dir/kernel.rs"
# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"
# Ignore all files whose names begin with `secret` anywhere in this repository.
- "secret*"
# Ignore files whose names end with `.cfg` anywhere in this repository.
- "*.cfg"
# Ignore all files in or below the `/scripts` directory of this repository.
- "/scripts/**"
Настройка исключения содержимого для организации
Параметры организации можно использовать для указания файлов, которые должны игнорировать GitHub Copilot. Файлы могут находиться в репозитории Git или в любом месте файловой системы, которая не находится под контролем Git.
-
В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.
-
Рядом с организацией щелкните Параметры.
-
На левой боковой панели щелкните Copilot и щелкните "Исключение контента".
-
В поле "Репозитории и пути для исключения" введите сведения о файлах, из которых следует исключить Copilot .
Чтобы исключить файлы, расположенные в любом месте (в репозитории Git или в другом месте), введите
"*":путь к файлу или файлам, которые необходимо исключить. Если вы хотите указать несколько шаблонов пути к файлу, перечислите каждый шаблон в отдельной строке.Чтобы исключить файлы в репозитории Git из Copilot, введите ссылку на репозиторий в одной строке, а затем пути к расположениям в репозитории с каждым путем в отдельной строке. Используйте следующий формат, заменив
REPOSITORY-REFERENCEссылку на репозиторий, содержащий файлы, которые вы хотите исключить:REPOSITORY-REFERENCE: - "/PATH/TO/DIRECTORY/OR/FILE" - "/PATH/TO/DIRECTORY/OR/FILE" - ...На репозитории можно ссылаться с помощью различных протоколов. Вы можете использовать любой из следующих синтаксисов для
REPOSITORY-REFERENCEданных Copilot независимо от того, как репозиторий был клонирован локально:http[s]://host.xz[:port]/path/to/repo.git/ git://host.xz[:port]/path/to/repo.git/ [user@]host.xz:path/to/repo.git/ ssh://[user@]host.xz[:port]/path/to/repo.git/`user@` И `:port` части игнорируются `REPOSITORY-REFERENCE` в вычислении путей, которые следует игнорировать для репозитория.Для Azure DevOps можно использовать новый (dev.azure.com) или старый (visualstudio.com) хост при указании
REPOSITORY-REFERENCE, и Copilot будет совпадать с ними независимо от того, какой хост использовался для локального клонирования репозитория.Совет
Для указания путей к файлам можно использовать сопоставление шаблонов fnmatch. Шаблоны являются нечувствительными к регистру. См . файл в документации по ruby-doc.org.
Пример репозиториев и путей в параметрах организации
# Ignore all `.env` files from all file system roots (Git and non-Git).
# For example, this excludes `REPOSITORY-PATH/.env` and also `/.env`.
# This could also have been written on a single line as:
#
# "*": ["**/.env"]
"*":
- "**/.env"
# In the `octo-repo` repository in this organization:
octo-repo:
# Ignore the `/src/some-dir/kernel.rs` file.
- "/src/some-dir/kernel.rs"
# In the `primer/react` repository on GitHub:
https://github.com/primer/react.git:
# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"
# Ignore files called `temp.rb` in or below the `/src` directory.
- "/src/**/temp.rb"
# In the `copilot` repository of any GitHub organization:
git@github.com:*/copilot:
# Ignore any files in or below the `/__tests__` directory.
- "/__tests__/**"
# Ignore any files in the `/scripts` directory.
- "/scripts/*"
# In the `gitlab-org/gitlab-runner` repository on GitLab:
git@gitlab.com:gitlab-org/gitlab-runner.git:
# Ignore the `/main_test.go` file.
- "/main_test.go"
# Ignore any files with names beginning with `server` or `session` anywhere in this repository.
- "{server,session}*"
# Ignore any files with names ending with `.md` or `.mk` anywhere in this repository.
- "*.m[dk]"
# Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository.
- "**/package?/*"
# Ignore files in or below any `security` directories, anywhere in this repository.
- "**/security/**"
"*":
- "**/.env"Ignore all .env files from all file system roots (Git and non-Git).
For example, this excludes REPOSITORY-PATH/.env and also /.env.
This could also have been written on a single line as:
"*": ["**/.env"]
octo-repo:In the octo-repo repository in this organization:
- "/src/some-dir/kernel.rs"Ignore the /src/some-dir/kernel.rs file.
https://github.com/primer/react.git:In the primer/react repository on GitHub:
- "secrets.json"Ignore files called secrets.json anywhere in this repository.
- "/src/**/temp.rb"Ignore files called temp.rb in or below the /src directory.
git@github.com:*/copilot:In the copilot repository of any GitHub organization:
- "/__tests__/**"Ignore any files in or below the /__tests__ directory.
- "/scripts/*"Ignore any files in the /scripts directory.
git@gitlab.com:gitlab-org/gitlab-runner.git:In the gitlab-org/gitlab-runner repository on GitLab:
- "/main_test.go"Ignore the /main_test.go file.
- "{server,session}*"Ignore any files with names beginning with server or session anywhere in this repository.
- "*.m[dk]"Ignore any files with names ending with .md or .mk anywhere in this repository.
- "**/package?/*"Ignore files directly within directories such as packages or packaged anywhere in this repository.
- "**/security/**"Ignore files in or below any security directories, anywhere in this repository.
# Ignore all `.env` files from all file system roots (Git and non-Git).
# For example, this excludes `REPOSITORY-PATH/.env` and also `/.env`.
# This could also have been written on a single line as:
#
# "*": ["**/.env"]
"*":
- "**/.env"
# In the `octo-repo` repository in this organization:
octo-repo:
# Ignore the `/src/some-dir/kernel.rs` file.
- "/src/some-dir/kernel.rs"
# In the `primer/react` repository on GitHub:
https://github.com/primer/react.git:
# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"
# Ignore files called `temp.rb` in or below the `/src` directory.
- "/src/**/temp.rb"
# In the `copilot` repository of any GitHub organization:
git@github.com:*/copilot:
# Ignore any files in or below the `/__tests__` directory.
- "/__tests__/**"
# Ignore any files in the `/scripts` directory.
- "/scripts/*"
# In the `gitlab-org/gitlab-runner` repository on GitLab:
git@gitlab.com:gitlab-org/gitlab-runner.git:
# Ignore the `/main_test.go` file.
- "/main_test.go"
# Ignore any files with names beginning with `server` or `session` anywhere in this repository.
- "{server,session}*"
# Ignore any files with names ending with `.md` or `.mk` anywhere in this repository.
- "*.m[dk]"
# Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository.
- "**/package?/*"
# Ignore files in or below any `security` directories, anywhere in this repository.
- "**/security/**"
Настройка исключения содержимого для предприятия
В качестве владельца предприятия можно использовать параметры предприятия, чтобы указать файлы, которые GitHub Copilot должны игнорироваться. Файлы могут находиться в репозитории Git или в любом месте файловой системы, которая не находится под контролем Git.
- В верхней части страницы нажмите Управление AI.
- На боковой панели нажмите Copilot.
- Click Исключение контента.
- Используйте пути, чтобы указать, какое содержимое следует исключить. См. предыдущий раздел , настройка исключения содержимого для вашей организации.
Примечание.
Ключевое различие между настройкой исключения содержимого на корпоративном уровне и уровнем организации заключается в том, что правила, установленные на корпоративном уровне, применяются ко всем пользователям Copilot в организации, тогда как правила, заданные владелец организации, применяются только к пользователям, которым назначено место Copilot.
Тестирование изменений в исключениях содержимого
Вы можете использовать интегрированную среду разработки, чтобы убедиться, что изменения в исключениях содержимого работают должным образом.
Распространение изменений исключения содержимого в интегрированной среде разработки
После добавления или изменения исключений содержимого может потребоваться до 30 минут, чтобы принять в силу идентификаторы, в которых параметры уже загружены. Если вы не хотите ждать, можно вручную перезагрузить параметры исключения содержимого, выполнив следующие инструкции.
-
**Для параметров idEs JetBrains и Visual Studio** перезагрузите параметры исключения содержимого, закрывая и повторно открыв приложение. -
**Для Visual Studio Code** выполните следующие действия, чтобы перезагрузить параметры исключения содержимого:- Access к палитре команд. Например, нажмите клавиши SHIFT+COMMAND+P (Mac) или CTRL+SHIFT+P (Windows/Linux).
- Введите
reload. - Выберите разработчика: перезагрузить окно.
-
**Для Vim/Neovim** исключения содержимого автоматически извлекаются из GitHub при каждом открытии файла.
Тестирование исключений содержимого
Вы можете убедиться, что настроенные исключения содержимого работают должным образом.
- Сначала убедитесь, что исключение содержимого работает в файлах, которые не подвергаются исключению содержимого. To to:
- В интегрированной среде разработки откройте файл, который не подлежит исключению содержимого.
- Внесите правку, которая обычно генерирует встроенное предложение. Следует предложить предложение
- Откройте файл, который следует исключить и сделать то же изменение. Предложение не должно быть предложено.
- Чтобы проверить исключение содержимого для Копилот Чат:
-
В интегрированной среде разработки откройте панель Копилот Чат.
-
Откройте файл, который следует исключить и закрыть все другие файлы, открытые в редакторе.
-
Убедитесь, что открытый файл подключен к запросу в качестве контекстного файла.
-
Введите запрос
explain this file.Если файл исключен, Копилот Чат не сможет использовать файл для создания ответа. Файл не будет указан в качестве ссылки в ответе Copilot.
-
Управление исключениями контента с помощью REST API
Владельцы организаций и предприятий также могут программно управлять исключениями контента с помощью REST API GitHub.
Дополнительные сведения см. в разделе Конечные точки REST API для управления исключением контента Copilot.
Дополнительные материалы
-
[автозаголовок](/copilot/concepts/content-exclusion-for-github-copilot) -
[автозаголовок](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot) -
[Configuring content exclusion for Visual Studio](https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-github-copilot-admin?view=vs-2022#configure-content-exclusion) в документации Microsoft Learn