Skip to main content

Como realizar a exclusão de conteúdo do GitHub Copilot

Saiba como impedir o acesso do Copilot a determinados conteúdos.

Quem pode usar esse recurso?

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.

Organizações com um plano do Copilot Business ou Copilot Enterprise.

Configurando a exclusão de conteúdo para seu repositório

Você pode usar as configurações do repositório para especificar o conteúdo do seu repositório que o GitHub Copilot deve ignorar.

  1. Em GitHub, acesse a página principal do repositório.

  2. No nome do repositório, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Code & automation" da barra lateral, clique em Copilot e em Code exclusion.

    Se o repositório herdar exclusões da organização pai ou de organizações na mesma empresa, você verá uma ou mais caixas cinzas na parte superior da página, contendo detalhes dessas exclusões. Não é possível editar essas configurações.

  4. Na caixa após "Caminhos a serem excluídos neste repositório", insira os caminhos para os arquivos dos quais o Copilot deve ser excluído.

    Use o formato: - "/PATH/TO/DIRECTORY/OR/FILE", com cada caminho em uma linha separada. Você pode adicionar comentários iniciando uma linha com #.

    Dica

    Você pode usar a notação de correspondência de padrão fnmatch para especificar caminhos de arquivo. Os padrões não diferenciam maiúsculas de minúsculas. Confira Arquivo na documentação da ruby-doc.org.

Exemplo de caminhos especificados nas configurações do repositório

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

Configurar a exclusão de conteúdo para sua organização

Você pode usar as configurações da organização para especificar os arquivos que o GitHub Copilot deve ignorar. Os arquivos podem estar em um repositório do Git ou em qualquer lugar no sistema de arquivos que não esteja sob controle do Git.

  1. No canto superior direito de GitHub, clique na foto de perfil e clique em Your organizations.

  2. Ao lado da organização, clique em Configurações.

  3. Na barra lateral esquerda, clique em Copilot e em Content exclusion.

  4. Na caixa após "Repositórios e caminhos a serem excluídos", insira os detalhes dos arquivos dos quais o Copilot deverá ser excluído.

    Para excluir arquivos localizados em qualquer lugar (dentro de um repositório do Git ou em outro lugar), insira "*": seguido do caminho para os arquivos que deseja excluir. Se você quiser especificar múltiplos padrões de caminho de arquivo, liste cada padrão em uma linha separada.

    Para excluir arquivos em um repositório do Git do Copilot, insira uma referência ao repositório em uma linha, seguida de caminhos para locais dentro do repositório, com cada caminho em uma linha separada. Use o formato a seguir, substituindo REPOSITORY-REFERENCE por uma referência ao repositório que contém os arquivos que você gostaria de excluir:

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

    Os repositórios podem ser referenciados usando vários protocolos. Você pode usar qualquer uma das seguintes sintaxes para REPOSITORY-REFERENCE e Copilot corresponderá a elas, independentemente de como o repositório foi clonado localmente:

    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/
    

    As partes user@ e :port do REPOSITORY-REFERENCE são ignoradas no cálculo de quais caminhos ignorar para um repositório.

    Para o Azure DevOps, você pode usar o formato de host novo (dev.azure.com) ou antigo (visualstudio.com) ao especificar REPOSITORY-REFERENCE e o Copilot corresponderá a eles, independentemente de qual host foi usado para clonar o repositório localmente.

    Dica

    Você pode usar a notação de correspondência de padrão fnmatch para especificar caminhos de arquivo. Os padrões não diferenciam maiúsculas de minúsculas. Confira Arquivo na documentação da ruby-doc.org.

Exemplo de repositórios e caminhos nas configurações da organização

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

Configurando a exclusão de conteúdo para sua empresa

Como proprietário da empresa, você pode usar as configurações da empresa para especificar arquivos que o GitHub Copilot deve ignorar. Os arquivos podem estar em um repositório do Git ou em qualquer lugar no sistema de arquivos que não esteja sob controle do Git.

  1. No canto superior direito do GitHub, selecione sua imagem de perfil.
  2. Dependendo do ambiente, selecione Sua empresa ou Suas empresas e escolha a empresa que deseja ver.
  3. Na parte superior da página, clique em Policies.{ % else %}No lado esquerdo da página, na barra lateral da conta empresarial, clique em Policies. 1. Na seção "Policies", clique em Copilot.
  4. Se você vir guias na parte superior da página, clique na guia Content exclusion. Caso contrário, clique no ícone ao lado de "Content exclusion".
  5. Use caminhos para especificar qual conteúdo excluir. Confira a seção anterior, Configurando a exclusão de conteúdo para sua organização.

Observação

A principal diferença entre definir a exclusão de conteúdo no nível corporativo e no nível da organização é que as regras definidas no nível corporativo se aplicam a todos os usuários do Copilot na empresa, enquanto as regras definidas pelos proprietários da organização se aplicam apenas aos usuários que receberam uma licença do Copilot atribuída por essa organização.

Como testar as alterações nas exclusões de conteúdo

Você pode usar seu IDE para confirmar que suas alterações nas exclusões de conteúdo estão funcionando conforme o esperado.

Propagação das alterações de exclusão de conteúdo para o IDE

A adição ou alteração de exclusões de conteúdo, pode levar até 30 minutos para entrar em vigor nos IDEs em que as configurações já estão carregadas. Caso não deseje aguardar, você pode recarregar manualmente as configurações de exclusão de conteúdo seguindo as instruções apresentadas a seguir.

  • Para IDEs da JetBrains e do Visual Studio, recarregue as configurações de exclusão de conteúdo ao fechar e abrir novamente o aplicativo.
  • Para o Visual Studio Code, use as etapas apresentadas abaixo para recarregar as configurações de exclusão de conteúdo:
    1. Abra a paleta de comandos. Por exemplo, pressionando Shift+Command+P (no Mac) / Ctrl+Shift+P (no Windows/Linux).
    2. Digite: reload.
    3. Selecione Desenvolvedor: Recarregar Janela.
  • Para o Vim/Neovim, as exclusões de conteúdo são automaticamente recuperadas do GitHub toda vez que você abre um arquivo.

Teste das exclusões de conteúdo

Você pode verificar se as exclusões de conteúdo configuradas estão funcionando conforme o esperado.

  1. Primeiro, confirme se a exclusão de conteúdo está funcionando em arquivos que não estão sujeitos a ela. Para fazer isso:
    • Em seu IDE, abra um arquivo que não esteja sujeito à exclusão de conteúdo.
    • Faça uma edição que normalmente geraria uma sugestão de preenchimento de código. Uma sugestão deve ser oferecida
  2. Abra um arquivo que deve ser excluído e faça a mesma edição. Nenhuma sugestão deve ser oferecida.
  3. Para testar a exclusão de conteúdo para o Copilot Chat:
    • No IDE, abra o painel do Copilot Chat.

    • Abra um arquivo que deve ser excluído e feche todos os outros arquivos abertos no editor.

    • Certifique-se de que o arquivo aberto esteja anexado ao prompt como o arquivo de contexto.

    • Digite o prompt explain this file.

      Se o arquivo for excluído, o Copilot Chat não poderá usá-lo para gerar uma resposta. O arquivo não será listado como uma referência na resposta do { data variables.product.prodname_copilot_short %}.

Leitura adicional