Menu
Coddy logo textTech

Git Worktree

Última actualización

git worktree permite que un mismo repositorio tenga varios directorios de trabajo a la vez, cada uno en una rama diferente. En lugar de guardar tu trabajo con stash para cambiar de rama, consultas la otra rama en una carpeta separada - revisa un PR, ejecuta un hotfix o compila una rama mientras editas otra, todo compartiendo el mismo historial .git.

Prueba esto en el terminal playground - un shell real en tu navegador, sin nada que instalar.

Sintaxis

CommandWhat it does
git worktree add ../hotfix hotfixConsulta hotfix en una carpeta hermana
git worktree add -b new ../newCrea una rama y un worktree para ella
git worktree listLista todos los worktrees y sus ramas
git worktree remove ../hotfixElimina un worktree
git worktree pruneLimpia las entradas de worktree obsoletas

Ejemplo práctico

Corrige un error en main sin alterar tu rama de funcionalidad.

StepCommandResult
1git worktree add ../fix mainmain consultada en ../fix
2Corrige y confirma en ../fixHotfix hecho en main
3git worktree remove ../fixLimpieza; la rama de funcionalidad quedó intacta

Preguntas frecuentes sobre git worktree

¿Qué es un git worktree?
Un worktree es un directorio de trabajo adicional asociado al mismo repositorio, consultado en una rama o commit diferente. Te permite tener varias ramas consultadas al mismo tiempo en carpetas separadas, todas compartiendo un único historial .git - así no tienes que hacer stash ni clonar para trabajar en dos ramas a la vez.
¿Cómo añado un worktree?
Ejecuta git worktree add <path> <branch>, por ejemplo git worktree add ../hotfix hotfix. Git consulta esa rama en la nueva carpeta. Para crear una rama nueva al mismo tiempo, usa git worktree add -b <newbranch> <path>.
¿Cuándo debería usar un worktree en lugar de cambiar de rama?
Úsalo cuando cambiar de rama sería disruptivo - tienes trabajo sin confirmar, una compilación larga que no quieres interrumpir, o necesitas comparar dos ramas lado a lado. Un worktree te da la otra rama en su propia carpeta sin tocar la actual.
¿Cómo elimino un worktree?
Ejecuta git worktree remove <path>. Si la carpeta se eliminó manualmente, ejecuta git worktree prune para limpiar el registro obsoleto. No puedes eliminar el worktree principal (la carpeta original del repositorio), solo los adicionales que añadiste.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar git worktree en un shell real en tu navegador - sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre los flujos de trabajo de ramas paso a paso.
Coddy programming languages illustration

Aprende Git con Coddy

COMENZAR