Skip to main content

Exclusión del contenido de GitHub Copilot

Aprende a impedir que Copilot acceda a determinado contenido.

¿Quién puede utilizar esta característica?

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.

Organizaciones y empresas con un plan de Copilot Business o Copilot Enterprise.

Configuración de la exclusión de contenido para el repositorio

Puede usar la configuración del repositorio para especificar el contenido de este que GitHub Copilot debe omitir.

Nota:

CLI de GitHub Copilot, Agente de programación Copilot, y el modo agente en chat de Copilot en IDE no admite la exclusión de contenido. Para obtener más información sobre estas características de Copilot, vea Acerca de GitHub Copilot CLI, Acerca del agente de codificación de GitHub Copilot y Hacer preguntas a GitHub Copilot en tu IDE.

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haga clic en Copilot y después en Exclusión de contenido.

    Si su repositorio hereda alguna exclusión de su organización principal o de organizaciones de la misma empresa, verá uno o más cuadros grises en la parte superior de la página con detalles de estas exclusiones. No puede editar esta configuración.

  4. En el cuadro que sigue a "Rutas de acceso para excluir en este repositorio", escriba las rutas de acceso a los archivos que Copilot debe excluir.

    Use el formato - "/PATH/TO/DIRECTORY/OR/FILE" con cada ruta de acceso en una línea independiente. Puede agregar comentarios iniciando una línea con #.

    Sugerencia

    Puede usar la notación de coincidencia de patrones de tipo fnmatch para especificar rutas de acceso a los archivos. Los patrones no distinguen mayúsculas de minúsculas. Consulte Archivo en la documentación de ruby-doc.org.

Ejemplo de rutas de acceso especificadas en la configuración del repositorio

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

Configuración de la exclusión de contenido para la organización

Puede usar la configuración de la organización para especificar el contenido que GitHub Copilot debe omitir. Los archivos pueden estar dentro de un repositorio de Git o en cualquier parte del sistema de archivos que no está bajo control de Git.

  1. En la esquina superior derecha de GitHub, haz clic en la foto del perfil y luego en Your organizations.

  2. Junto a la organización, haga clic en Settings.

  3. En la barra lateral de la izquierda, haz clic en Copilot y luego en Content exclusion.

  4. En el cuadro que aparece a continuación de "Repositorios y rutas a que excluir", introduce los datos de los archivos de los que Copilot debe excluirse.

    Para excluir archivos ubicados en cualquier lugar (dentro de un repositorio de Git o en otro lugar), escriba "*": seguido de la ruta de acceso al archivo, o archivos, que desea excluir. Si desea especificar varios patrones de ruta de acceso de archivo, enumere cada patrón en una línea independiente.

    Para excluir archivos de un repositorio de Git de Copilot, escriba una referencia al repositorio en una línea, seguida de rutas de acceso a ubicaciones dentro del repositorio, con cada ruta de acceso en una línea independiente. Use el formato siguiente, reemplazando REPOSITORY-REFERENCE por una referencia al repositorio que contiene los archivos que desea excluir:

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

    Se puede hacer referencia a repositorios mediante varios protocolos. Puedes usar cualquiera de las sintaxis siguientes para REPOSITORY-REFERENCE y Copilot las hará coincidir, independientemente de cómo se clonó localmente el repositorio:

    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/
    

    Las partes user@ y :port de REPOSITORY-REFERENCE se omiten en el cálculo de las rutas de acceso que se omitirán en un repositorio.

    Para Azure DevOps, puede usar el nuevo formato de host (dev.azure.com) o antiguo (visualstudio.com) al especificar REPOSITORY-REFERENCE, y Copilot coincidirá con ellos independientemente del host que se usó para clonar el repositorio localmente.

    Sugerencia

    Puede usar la notación de coincidencia de patrones de tipo fnmatch para especificar rutas de acceso a los archivos. Los patrones no distinguen mayúsculas de minúsculas. Consulte Archivo en la documentación de ruby-doc.org.

Ejemplo de repositorios y rutas de acceso en la configuración de la organización

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

Configuración de la exclusión de contenido para la empresa

Como propietario de la empresa, puede usar la configuración de empresa para especificar los archivos que GitHub Copilot debe omitir. Los archivos pueden estar dentro de un repositorio de Git o en cualquier parte del sistema de archivos que no está bajo control de Git.

  1. Vaya a su empresa. Por ejemplo, desde la página Empresas en GitHub.com.
  2. En la parte superior de la página, haga clic en controles de IA.
  3. En la barra lateral, haga clic en Copilot.
  4. Haga clic en Exclusión de contenido.
  5. Usa rutas de acceso para especificar qué contenido se debe excluir. Consulte la sección anterior, Configuración de la exclusión de contenido para la organización.

Nota:

La diferencia clave entre establecer la exclusión de contenido en el nivel de empresa y el nivel de organización es que las reglas establecidas en el nivel de empresa se aplican a todos los usuarios de Copilot de la empresa, mientras que las reglas establecidas por los propietarios de la organización solo se aplican a los usuarios a los que se les asigna un puesto Copilot por esa organización.

Prueba de los cambios en la exclusión de contenido

Puede utilizar su IDE para confirmar que los cambios en las exclusiones de contenido están funcionando como se esperaba.

Propagación de los cambios de exclusión de contenidos a su IDE

Después de agregar o cambiar las exclusiones de contenido, puede tardar hasta 30 minutos en surtir efecto en los IDE en los que la configuración ya está cargada. Si no desea esperar, puede volver a cargar manualmente la configuración de exclusión de contenido mediante las instrucciones siguientes.

  •         **Para los IDE de JetBrains y Visual Studio**, vuelva a cargar la configuración de exclusión de contenido cerrando y volviendo a abrir la aplicación.
    
  •         **Para Visual Studio Code**, siga estos pasos para volver a cargar la configuración de exclusión de contenido:
    
    1. Accede a la paleta de comandos. Por ejemplo, pulsando Mayús+Command+P (Mac) / Ctrl+Mayús+P (Windows/Linux).
    2. Escriba: reload.
    3. Seleccione Programador: Volver a cargar ventana.
  •         **Para Vim/Neovim**, las exclusiones de contenido se recuperan automáticamente de GitHub cada vez que abra un archivo.
    

Prueba de las exclusiones de contenido

Puede comprobar que las exclusiones de contenido configuradas funcionan según lo previsto.

  1. En primer lugar, confirme que la exclusión de contenido funciona en archivos que no están sujetos a la exclusión de contenido. Para hacer esto:
    • En el IDE, abre un archivo que no esté sujeto a la exclusión de contenido.
    • Realice una edición que normalmente generaría una sugerencia en línea. Se debería ofrecer una sugerencia
  2. Abra un archivo que se deba excluir y realice la misma edición. No se debería ofrecer una sugerencia.
  3. Para probar la exclusión de contenido para chat de Copilot:
    • En IDE, abra el panel de chat de Copilot.

    • Abra un archivo que se deba excluir y cierre cualquier otro archivo que esté abierto en el editor.

    • Asegúrese de que el archivo abierto está asociado al mensaje como archivo de contexto.

    • Escribe el símbolo del sistema explain this file.

      Si se excluye el archivo, chat de Copilot no podrá usar el archivo para generar una respuesta. El archivo no se mostrará como una referencia en la respuesta de Copilot.

Administración de exclusiones de contenido con la API REST

Los propietarios de la organización y los propietarios de empresas también pueden administrar exclusiones de contenido mediante programación mediante la API REST GitHub .

Para más información, consulta Puntos de conexión de la API REST para la administración de exclusión de contenido de Copilot.

Información adicional

  •         [AUTOTITLE](/copilot/concepts/content-exclusion-for-github-copilot)
    
  •         [AUTOTITLE](/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)
    
  •         [Configuración de exclusión de contenido para Visual Studio](https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-github-copilot-admin?view=vs-2022#configure-content-exclusion) en la documentación de Microsoft Learn