Skip to main content

Exclusion du contenu de GitHub Copilot

Découvrez comment empêcher Copilot l’accès à certains contenus.

Qui peut utiliser cette fonctionnalité ?

Repository administrators, organization owners, and enterprise owners can manage content exclusion settings. People with the "Maintain" role for a repository can view, but not edit, content exclusion settings for that repository.

Organisations disposant d’un plan Copilot Business ou Copilot Entreprise.

Configuration de l'exclusion de contenu pour votre dépôt

Vous pouvez utiliser vos paramètres de référentiel pour spécifier du contenu dans votre référentiel qui GitHub Copilot doit être ignoré.

Remarque

          CLI GitHub Copilot, Agent cloud Copilotet le mode Agent dans Discussion avec Copilot les IDE, ne prennent pas en charge l’exclusion de contenu. Pour plus d’informations sur ces Copilot fonctionnalités, consultez [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli), [AUTOTITLE et AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-cloud-agent).[](/copilot/how-tos/chat-with-copilot/chat-in-ide)
  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Code &automation » de la barre latérale, cliquez sur Copilot Exclusion de contenu.

    Si votre dépôt hérite d'exclusions de son organisation parente ou d'organisations appartenant à la même entreprise, vous verrez une ou plusieurs cases grises en haut de la page contenant les détails de ces exclusions. Vous ne pouvez pas modifier ces paramètres.

  4. Dans la zone suivante : « Chemins d’accès à exclure dans ce référentiel », entrez les chemins d’accès aux fichiers dont Copilot il doit être exclu.

    Utilisez le format - "/PATH/TO/DIRECTORY/OR/FILE", avec chaque chemin sur une ligne distincte. Vous pouvez ajouter des commentaires en commençant une ligne par #.

    Conseil

    Vous pouvez utiliser la notation de correspondance de modèle fnmatch pour spécifier les chemins d’accès aux fichiers. Les modèles ne respectent pas la casse. Consultez Fichier dans la documentation ruby-doc.org.

Exemple de chemins spécifiés dans les paramètres du dépôt

YAML
- "/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/**"

Configuration de l'exclusion de contenu pour votre organisation

Vous pouvez utiliser les paramètres de votre organisation pour spécifier des fichiers qui GitHub Copilot doivent être ignorés. Les fichiers peuvent se trouver dans un dépôt Git ou n'importe où sur le système de fichiers en dehors du contrôle Git.

  1. Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.

  2. Sélectionnez une organisation en cliquant dessus.

  3. Sous le nom de votre organisation, cliquez sur Settings. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  4. Dans la barre latérale gauche, cliquez sur Copilot****Exclusion de contenu.

  5. Dans la zone suivante : « Référentiels et chemins à exclure », entrez les détails des fichiers dont Copilot il doit être exclu.

    Pour exclure des fichiers situés n'importe où (dans un dépôt Git ou ailleurs), saisissez "*": suivi du chemin vers le ou les fichiers à exclure. Si vous souhaitez spécifier plusieurs modèles de chemins de fichiers, listez chaque modèle sur une ligne distincte.

    Pour exclure des fichiers d’un référentiel CopilotGit, entrez une référence au référentiel sur une ligne, suivie des chemins d’accès aux emplacements du référentiel, avec chaque chemin d’accès sur une ligne distincte. Utilisez le format suivant, en remplaçant REPOSITORY-REFERENCE par une référence au dépôt contenant les fichiers que vous souhaitez exclure :

    REPOSITORY-REFERENCE:
      - "/PATH/TO/DIRECTORY/OR/FILE"
      - "/PATH/TO/DIRECTORY/OR/FILE"
      - ...
    

    Les dépôts peuvent être référencés à l'aide de divers protocoles. Vous pouvez utiliser l’une des syntaxes suivantes pour REPOSITORY-REFERENCE, et Copilot les correspondra, quelle que soit la méthode employée pour cloner le référentiel localement.

    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/
    

    Les parties user@ et :port du REPOSITORY-REFERENCE sont ignorées dans le calcul des chemins à ignorer pour un dépôt.

    Pour Azure DevOps, vous pouvez utiliser le nouveau format d’hôte (dev.azure.com) ou ancien (visualstudio.com) lors de la spécification de REPOSITORY-REFERENCE, et Copilot les correspondra, quel que soit l’hôte utilisé pour cloner le référentiel localement.

    Conseil

    Vous pouvez utiliser la notation de correspondance de modèle fnmatch pour spécifier les chemins d’accès aux fichiers. Les modèles ne respectent pas la casse. Consultez Fichier dans la documentation ruby-doc.org.

Exemple de dépôts et chemins dans les paramètres d'organisation

YAML
"*":
  - "**/.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/**"

Configuration de l'exclusion de contenu pour votre entreprise

En tant que propriétaire d’entreprise, vous pouvez utiliser les paramètres d’entreprise pour spécifier les fichiers qui GitHub Copilot doivent être ignorés. Les fichiers peuvent se trouver dans un dépôt Git ou n'importe où sur le système de fichiers en dehors du contrôle Git.

  1. Accédez à votre entreprise. Par exemple, depuis la page Entreprises sur GitHub.com.
  2. En haut de la page, cliquez sur AI controls.
  3. Dans la barre latérale, cliquez sur Copilot.
  4. Cliquez sur Exclusion de contenu.
  5. Utilisez des chemins d'accès pour spécifier le contenu à exclure. Consultez la section précédente, Configuration de l'exclusion de contenu pour votre organisation.

Remarque

La principale différence entre la définition de l’exclusion de contenu au niveau de l’entreprise et le niveau de l’organisation est que les règles définies au niveau de l’entreprise s’appliquent à tous les Copilot utilisateurs de l’entreprise, tandis que les règles définies par les propriétaires de l’organisation s’appliquent uniquement aux utilisateurs auxquels cette organisation a attribué un Copilot siège.

Test des modifications d'exclusions de contenu

Vous pouvez utiliser votre IDE pour confirmer que vos modifications d'exclusions de contenu fonctionnent comme prévu.

Propager les modifications d'exclusion de contenu vers votre IDE

Après avoir ajouté ou modifié des exclusions de contenu, leur prise en compte peut prendre jusqu'à 30 minutes dans les IDE où les paramètres sont déjà chargés. Si vous ne souhaitez pas attendre, vous pouvez recharger manuellement les paramètres d'exclusion de contenu en suivant les instructions ci-dessous.

  • Pour les IDE JetBrains et Visual Studio, rechargez les paramètres d’exclusion de contenu en fermant et rouvrant l’application.
  • Pour Visual Studio Code, utilisez les étapes suivantes pour recharger les paramètres d'exclusion de contenu :
    1. Access la palette de commandes. Par exemple, en appuyant sur Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux).
    2. Entrez : reload.
    3. Sélectionnez Développeur : Recharger la fenêtre.
  • Pour Vim/Neovim, les exclusions de contenu sont automatiquement extraites à partir de GitHub chaque fois que vous ouvrez un fichier.

Tester vos exclusions de contenu

Vous pouvez vérifier que les exclusions de contenu que vous avez configurées fonctionnent comme prévu.

  1. Commencez par confirmer que l'exclusion de contenu fonctionne dans les fichiers qui ne sont pas soumis à l'exclusion de contenu. Pour cela :
    • Dans votre IDE, ouvrez un fichier qui n'est pas soumis à l'exclusion de contenu.
    • Apportez une modification qui générerait normalement une suggestion inline. Une suggestion doit être proposée
  2. Ouvrez un fichier qui devrait être exclu et effectuez la même modification. Aucune suggestion ne devrait être proposée.
  3. Pour tester l’exclusion de contenu pour Discussion avec Copilot:
    • Dans votre IDE, ouvrez le Discussion avec Copilot panneau.

    • Ouvrez un fichier qui devrait être exclu et fermez tous les autres fichiers ouverts dans l'éditeur.

    • Assurez-vous que le fichier ouvert est joint à l'invite en tant que fichier de contexte.

    • Entrez le prompt explain this file.

      Si le fichier est exclu, Discussion avec Copilot ne pourra pas utiliser le fichier pour générer une réponse. Le fichier ne sera pas répertorié comme référence dans la réponse de Copilot.

Gérer les exclusions de contenu avec l’API REST

Les propriétaires d’organisations et les propriétaires d’entreprise peuvent également gérer les exclusions de contenu par programmation à l’aide de l’API GitHub REST.

Pour plus d’informations, consultez « Points de terminaison d’API REST pour la gestion des exclusions de contenu Copilot ».

Pour aller plus loin