# Worktrees {#worktrees}

> Trabaja en otra rama y carpeta de Git sin mover tu copia principal.

Un worktree es otra carpeta de trabajo del mismo repositorio Git, normalmente en una rama distinta. Sirve para separar una tarea de los archivos de la copia principal.

## Crea un worktree gestionado {#create-a-managed-worktree}

Ejecuta Clarvis desde cualquier copia de trabajo del repositorio:

```bash
clarvis --worktree docs-guide
```

Clarvis crea la rama `clarvis/docs-guide` en una copia gestionada bajo la copia principal del repositorio, o vuelve a abrir la que Git ya tenga registrada para esa rama. Pasa solo el nombre: Clarvis añade el prefijo `clarvis/`.

Omite el nombre para que Clarvis genere uno:

```bash
clarvis --worktree
```

Los nombres deben tener entre 1 y 80 caracteres ASCII, empezar por letra o número y contener solo letras, números, puntos, guiones bajos y guiones. También deben ser segmentos válidos de rama Git: se rechazan `..`, `@{`, un punto final y el sufijo `.lock`. El worktree se selecciona antes de iniciar la sesión, el kernel o la TUI, por lo que todas las operaciones usan la misma copia.

<figure class="tui-shot">
  <img src="/images/tui/worktree-open.png" width="2352" height="1430" alt="Inicio de Clarvis con el worktree gestionado y la rama clarvis/docs-guide en la cabecera" loading="lazy" decoding="async" />
  <figcaption>La cabecera identifica el worktree gestionado y su rama clarvis/docs-guide.</figcaption>
</figure>

## Continúa en la misma copia {#continue-work-in-the-same-checkout}

Usa el mismo nombre en los siguientes inicios:

```bash
clarvis --worktree docs-guide --continue
```

Clarvis consulta la lista de worktrees registrada por Git; no mantiene un registro paralelo. Si se eliminó la copia gestionada pero queda la rama, el mismo comando puede recrearla. Si Git ya registra la rama en un worktree externo, Clarvis abre esa ruta sin moverla.

No se puede cambiar de worktree dentro de una sesión. Sal y vuelve a iniciar Clarvis con el nombre de destino para que todos los servicios utilicen el mismo espacio de trabajo.

## Conserva o elimina la copia al salir {#keep-or-remove-the-checkout-on-exit}

Si el worktree está limpio, la salida habitual con dos pulsaciones de **Ctrl+C** pregunta si quieres eliminar su copia:

<figure class="tui-shot">
  <img src="/images/tui/worktree-exit.png" width="2352" height="1430" alt="Diálogo de salida de un worktree limpio: N para conservar, Y para eliminar y Escape para cancelar" loading="lazy" decoding="async" />
  <figcaption>Eliminar una copia limpia conserva la rama: no fusiona ni borra el trabajo.</figcaption>
</figure>

- **N** conserva la copia y sale.
- **Y** elimina la copia limpia y sale.
- **Escape** cancela la salida.

Si hay cambios pendientes, Clarvis conserva la copia y no ofrece eliminarla. La eliminación nunca fuerza una operación de Git y la rama `clarvis/<name>` se conserva en ambos casos.

::: warning Atención
Una copia limpia solo significa que sus archivos no tienen cambios pendientes. No significa que la rama esté fusionada, publicada o sea seguro borrarla. Integra o elimina la rama con tu flujo habitual de Git.
:::

## Dónde se guardan las copias gestionadas {#where-managed-checkouts-live}

Clarvis las guarda en:

```text
<primary-checkout>/.clarvis/worktrees/<name>
```

Antes de crear una, comprueba que `.clarvis/.gitignore` de la copia principal excluya `worktrees/`, para evitar añadir por accidente archivos de la copia anidada al índice de Git. Los worktrees externos que crees por tu cuenta quedan fuera de esta limpieza gestionada.

## Consulta también {#see-also}

- [Uso diario](/es-ES/guide/daily-use)
- [Planes](/es-ES/guide/plans)
- [Ámbitos y confianza en el espacio de trabajo](/es-ES/explanation/scopes-and-trust)
- [Comandos](/es-ES/reference/commands)

---

[HTML canónico](https://clarvis.dev/es-ES/guide/worktrees)

[Índice de documentación](https://clarvis.dev/es-ES/llms.txt)

