Skip to main content

Excluindo conteúdo de GitHub Copilot

Saiba como impedir Copilot o acesso 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 e empresas 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 em seu repositório que GitHub Copilot deve ignorar.

Observação

CLI do GitHub Copilot, agente de nuvem Copilot e o modo de Agente no Bate-papo do Copilot em IDEs não oferecem suporte à exclusão de conteúdo. Para obter mais informações sobre esses Copilot recursos, consulte Sobre GitHub Copilot CLI, Sobre o agente de nuvem do GitHub Copilot e Fazendo perguntas ao GitHub Copilot no seu IDE.

  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 "Código e automação" da barra lateral, clique Copilot e depois clique em Exclusão de conteúdo.

    Se o seu repositório herdar alguma exclusão da organização pai ou de organizações da 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 a seguir "Caminhos a serem excluídos neste repositório", insira os caminhos para arquivos dos quais Copilot devem ser excluídos.

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

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

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

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

  2. Selecione uma organização clicando nela.

  3. No nome da organização, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela das guias no perfil de uma organização. A guia "Configurações" está contornada em laranja escuro.

  4. Na barra lateral esquerda, clique Copilot e clique em Exclusão de conteúdo.

  5. Na caixa a seguir "Repositórios e caminhos a serem excluídos", insira os detalhes dos arquivos dos quais Copilot devem ser excluídos.

    Para excluir arquivos localizados em qualquer lugar (dentro de um repositório Git ou em outro local), digite "*": seguido pelo caminho do arquivo ou arquivos que você deseja excluir. Se você deseja especificar vários padrões de caminho de arquivo, liste cada padrão em uma linha separada.

    Para excluir arquivos de um repositório CopilotGit, insira uma referência ao repositório em uma linha, seguida por caminhos para locais dentro do repositório, com cada caminho em uma linha separada. Utilize o seguinte formato, substituindo REPOSITORY-REFERENCE por uma referência ao repositório que contém os arquivos que você deseja 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 irá correspondê-las, 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 Azure DevOps, você pode usar o novo formato de host (dev.azure.com) ou antigo (visualstudio.com) ao especificar REPOSITORY-REFERENCE e Copilot os corresponderá 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 GitHub Copilot devem ser ignorados. Os arquivos podem estar dentro de um repositório Git ou em qualquer lugar do sistema de arquivos que não esteja sob o controle do Git.

  1. Navegue até sua empresa. Por exemplo, na página Enterprises em GitHub.com.
  2. Na parte superior da página, clique em controles de IA.
  3. Na barra lateral, clique em Copilot.
  4. Clique na exclusão de conteúdo.
  5. Use caminhos para especificar qual conteúdo excluir. Consulte 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 empresarial e no nível da organização é que as regras definidas no nível empresarial se aplicam a todos os Copilot usuários da empresa, enquanto as regras definidas pelos proprietários da organização se aplicam somente aos usuários que recebem um Copilot assento por essa organização.

Testar alterações nas exclusões de conteúdo

Pode usar o seu IDE para confirmar se as alterações feitas nas exclusões de conteúdo estão a funcionar conforme o esperado.

Propague as alterações de exclusão de conteúdo para o seu 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. Se não quiser esperar, pode recarregar manualmente as definições de exclusão de conteúdo seguindo as instruções abaixo.

  •           **Para IDEs da JetBrains e do Visual Studio**, recarregue as configurações de exclusão de conteúdo fechando e reabrindo o aplicativo.
    
  • Para Visual Studio Code, use as seguintes etapas para recarregar as configurações de exclusão de conteúdo:
    1. Acesse a Paleta de Comandos. Por exemplo, pressionando Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux).
    2. Digite: reload.
    3. Selecione Desenvolvedor: Recarregar Janela.
  • Para Vim/Neovim, as exclusões de conteúdo são automaticamente buscadas de GitHub cada vez que você abre um arquivo.

Teste as suas exclusões de conteúdo

Pode verificar se as exclusões de conteúdo que configurou estão a funcionar conforme o esperado.

  1. Primeiro, confirme se a exclusão de conteúdo está a funcionar em ficheiros que não estão sujeitos à exclusão de conteúdo. Para fazer isso:
    • No seu IDE, abra um ficheiro que não esteja sujeito a exclusão de conteúdo.
    • Faça uma edição que normalmente geraria uma sugestão embutida. Deve ser feita uma sugestão
  2. Abra um arquivo que precisa 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 Bate-papo do Copilot:
    • Em seu IDE, abra o Bate-papo do Copilot painel.

    • Abra um ficheiro que deva ser excluído e feche todos os outros ficheiros que estiverem abertos no editor.

    • Certifique-se de que o ficheiro aberto está anexado ao prompt como arquivo de contexto.

    • Digite o prompt explain this file.

      Se o arquivo for excluído, Bate-papo do Copilot não será possível usar o arquivo para gerar uma resposta. O arquivo não será listado como uma referência na resposta de Copilot.

Gerenciar exclusões de conteúdo com a API REST

Os proprietários da organização e os proprietários corporativos também podem gerenciar exclusões de conteúdo programaticamente usando a GitHub API REST.

Para saber mais, confira Pontos de extremidade da API REST para o gerenciamento de exclusão de conteúdo do Copilot.

Leitura adicional