21 Worktrees

Normalmente un repositorio tiene un solo directorio de trabajo, y cambiar de rama sobrescribe su contenido. git worktree permite tener varios directorios de trabajo simultáneos, cada uno con una rama distinta activa, todos compartiendo la misma base de datos de objetos.

git worktree add ../revision-urgente hotfix-branch

Esto crea un nuevo directorio ../revision-urgente con la rama hotfix-branch activa, sin tocar el directorio de trabajo principal ni requerir un segundo clon completo del repositorio (que duplicaría todo el historial en disco).

Es útil cuando hace falta atender algo urgente en otra rama sin perder el estado —cambios sin confirmar, archivos generados, servidores de desarrollo corriendo— del trabajo actual, evitando el viejo hábito de guardar cambios con git stash solo para poder cambiar de rama temporalmente.

git worktree list

Lista todos los worktrees asociados al repositorio.

git worktree remove ruta

Elimina un worktree ya innecesario.

Cada worktree tiene su propio HEAD y su propio índice, pero comparten refs, configuración y la base de datos de objetos completa.