Agregar repos a un espacio de trabajo
Esta guía te muestra cómo registrar un checkout de Git en un espacio de trabajo, reindexarlo y quitarlo de nuevo.
Los repos están acotados al espacio de trabajo. No hay un registro global ni un paso de vinculación: agregar un repo y ponerlo en un espacio de trabajo son el mismo acto. El mismo checkout registrado en dos espacios de trabajo se convierte en dos filas independientes con dos IDs distintos: entre espacios de trabajo, la identidad de un repo es su ruta en el sistema de archivos, nunca su ID.
Antes de empezar
Sección titulada «Antes de empezar»Una carpeta solo se puede registrar si se cumplen estas tres condiciones:
- Está dentro de un árbol de trabajo de git.
- Ese árbol de trabajo tiene un remoto
origin. - El remoto
originapunta a un host de código compatible: github.com, gitlab.com o bitbucket.org.
Cualquier otro caso se rechaza en el momento del registro con un mensaje explícito: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” o “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. No hay un modo solo local.
El host de código se lee del remoto y se guarda en el repo, tú nunca lo eliges. Un espacio de trabajo puede contener repos de los tres a la vez, y con cada uno se habla a través de su propia API con su propia credencial. Los espacios de nombres anidados de GitLab se conservan, así que gitlab.com/group/subgroup/project se registra con el propietario group/subgroup y el nombre project.
La carpeta también debe estar en la máquina que aloja cc_server, dentro de uno de los directorios --repo-roots de ese servidor. Esa lista de permitidos usa de forma predeterminada el directorio home del usuario del servidor, y navegar por encima de una raíz se rechaza.
Registrar un checkout
Sección titulada «Registrar un checkout»- Abre Ajustes → Espacio de trabajo → Repositorios (
/workspaces/<id>/settings/workspace/repositories). - Haz clic en Añadir repositorio.
El cuadro de diálogo es un navegador que recorre el sistema de archivos del servidor, no el tuyo. El flujo es el mismo en escritorio, web y teléfono, porque un selector de carpetas nativo elegiría una carpeta de la máquina equivocada.
- Navega por las raíces configuradas del servidor. Las carpetas que son checkouts de git se marcan.
- Marca tantas como quieras. La selección se mantiene mientras navegas, así que puedes reunir checkouts de varias carpetas.
- Regístralos en un solo lote.
Una selección fallida nunca descarta el resto del lote: obtienes los IDs que se crearon más un error por ruta para cada una que se rechazó. Volver a registrar una ruta que ya existe en este espacio de trabajo devuelve el repo existente en lugar de crear un duplicado.
Cada repo registrado aparece en la lista con su owner/name, una insignia que indica su host de código y su ruta en el servidor. Los repos de GitHub también muestran el avatar del propietario; los otros hosts de código no tienen una URL de avatar del propietario que se pueda deducir, así que recurren a las iniciales.
La insignia del host de código importa en un espacio de trabajo mixto: dos repos pueden llamarse ambos acme/web en hosts distintos y se comportan de forma diferente: lo que puede hacer una revisión y adónde lleva un enlace.
Qué ocurre después
Sección titulada «Qué ocurre después»El registro desencadena un evento RepoAdded acotado a este espacio de trabajo, que inicia el pipeline index_code para ese checkout. Eso es lo que llena el grafo de código, para que la búsqueda y el análisis de impacto tengan con qué responder.
Solo se indexan los archivos cuyo lenguaje tiene una gramática incluida (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB y Ada). Consulta Buscar código con el grafo de código.
Reindexar un repo
Sección titulada «Reindexar un repo»Cada fila incluye un botón Indexar código. Haz clic en él para volver a ejecutar el indexador de ese checkout; mientras se ejecuta, el botón se convierte en un indicador de progreso que muestra los archivos procesados sobre el total, con un control para cancelar. Cuando termina, queda como una marca de verificación con el conteo de símbolos, o como una advertencia si la ejecución falló.
Reordenar repos
Sección titulada «Reordenar repos»Arrastra el asa de una fila. El orden que fijes es el orden que devuelve cada lista de repos de la app.
Corregir el enlace de GitHub
Sección titulada «Corregir el enlace de GitHub»El icono de enlace de una fila abre un editor para el propietario de GitHub y el nombre del repositorio del repo; es útil cuando el remoto se renombró o se transfirió.
Quitar un repo
Sección titulada «Quitar un repo»- Abre Ajustes → Espacio de trabajo → Repositorios.
- Haz clic en el icono de papelera de la fila.
- Confirma «¿Quitar repositorio del espacio de trabajo?»
El cuadro de diálogo dice lo que hace: «name se eliminará de este espacio de trabajo. Los archivos locales en disco no se modifican.»
Quitar elimina la fila del repo de este espacio de trabajo y borra en cascada sus filas del grafo de código —símbolos, aristas, archivos y puntos de control de indexación—, además de cada permiso de repositorio por miembro sobre él, sus vínculos entre espacio y repo y sus registros de checkouts aislados. El mismo checkout registrado en otro espacio de trabajo es una fila independiente y no se ve afectado. Los worktrees en disco a los que apuntaban esos registros no se desmontan con la eliminación.
Guías relacionadas
Sección titulada «Guías relacionadas»- Buscar código con el grafo de código
- Ejecutar agentes en paralelo
- Configurar la integración con GitHub
- Tu primer espacio de trabajo