Ir al contenido

Worktrees del repositorio

Lista y crea checkouts en paralelo del mismo repositorio sin confundirlos con workspaces de Elyra.

Ver Markdown

Una worktree es una segunda carpeta del mismo repositorio, en otra rama. Existe para que dos frentes de trabajo no disputen los mismos archivos: cada uno tiene su checkout, con el mismo historial por debajo.

La sección Worktrees

Lista los checkouts del repositorio del proyecto. La lista se lee bajo demanda — al abrir la sección y cuando pides Releer las worktrees del repositorio —, y por eso una worktree creada hace poco en la terminal puede no estar allí hasta que vuelvas a leer.

Cada ítem informa lo que se necesita saber antes de tocar nada:

  • si es la principal o una worktree adicional;
  • la rama que tiene en checkout;
  • su estado: limpia, con archivos cambiados, adelante o atrás de la base, integrada;
  • señales de excepción: bloqueada, huérfana o bare;
  • una operación de Git en curso (merge o rebase a medias).

La sección también incluye worktrees que Elyra no creó. Eso es intencional: el repositorio es del proyecto, y esconder un checkout hecho a mano daría una visión falsa de lo que existe en el disco.

Crear una worktree

  1. Abre la sección Worktrees y usa Nueva worktree.
  2. Informa la rama. El campo busca en las ramas del repositorio mientras escribes y parte del patrón configurado en el repositorio.
  3. Informa la carpeta donde va a nacer el checkout. Hay un botón para elegirla en el disco.
  4. Opcionalmente, escribe un comando para ejecutar después de crear. Se ejecuta dentro de la carpeta nueva — el ejemplo del propio campo es pnpm install.
  5. Confirma en Crear worktree.

Hay una casilla Abrir como workspace, y nace desmarcada: crear una worktree es crear una worktree; adoptarla como workspace de la app es una segunda decisión, y es tuya. Marcar la casilla es lo que hace que la carpeta se convierta en un workspace abierto.

El comando posterior a la creación

Ese campo ejecuta código de verdad en la carpeta nueva, con tus credenciales y tu entorno:

  • Úsalo para lo que es mecánico y conocido: instalar dependencias, copiar un archivo de entorno, preparar un hook.
  • No pegues en él un comando que no entendiste, ni uno que vino de un mensaje de agente sin revisión.
  • Si falla, la worktree ya se creó — el fallo es del comando, no de la creación. Puedes ejecutar el comando otra vez en la terminal de esa carpeta.

Local o en otra máquina

Cuando el repositorio vive en otra máquina, la worktree nace allí: la creación se enruta por el host del repositorio, y la carpeta que eliges en el diálogo es del otro lado. Como el comando posterior a la creación también corre del otro lado, viaja por el mismo camino — no es tu computadora la que lo ejecuta.

Límites y alcance

  • La lista no es un registro de Elyra. Refleja el repositorio; quitar una worktree por la terminal saca el ítem de la lista en la próxima relectura, y una worktree eliminada por fuera puede aparecer como huérfana.
  • Worktree no es workspace. Ninguna worktree se adopta como workspace automáticamente, y la lista no muestra qué carpetas ya son workspaces de la app.
  • El nombre de la rama lo valida Git. Rama inválida o ya en checkout en otra carpeta la rechaza el propio Git, con su mensaje.
  • Una worktree en uso no puede eliminarse por Git. Si la eliminación falla, revisa si alguna terminal tiene esa carpeta abierta.
  • Crear una worktree consume disco. Cada checkout es una copia de trabajo de los archivos con seguimiento.

Ver también