Worktrunk: árboles paralelos, ciclo de vida y análisis del código
Primeros pasos con Worktrunk: una rama desechable y un resultado comprobable
Realiza el ejercicio mínimo de creación, distingue navegación y creación, y evita activar hooks o limpieza durante la primera prueba.
Qué aprenderás
- Prepara un entorno que puedas descartar
- Crea una vez y verifica dos resultados distintos
- Define el éxito antes de aprender a borrar
Antes de empezar
- Ramas Git y navegación básica por terminal
- Un repositorio desechable para ejercicios opcionales
Explicar límites del árbol, verificar un primer checkout y revisar comandos antes de automatizar.
Conclusiones clave
- Usa un repositorio desechable sin hooks de ciclo de vida.
- Creación y navegación del terminal son verificaciones separadas.
- No cierres el ejercicio con una fusión o eliminación forzada.
Prepara un entorno que puedas descartar
Empieza con un repositorio desechable que tenga un commit inicial, una instalación revisada y una integración de terminal que comprendas. Inspecciona la configuración de usuario y proyecto. Un repositorio nuevo puede heredar hooks personales y otro puede incluir .config/wt.toml. El capítulo de instalación explica estas capas antes de proponer cambios globales.
El primer ejercicio excluye agentes, instalación de dependencias y fusiones. En macOS o Linux la interfaz documentada usa wt; en Windows invoca directamente git-wt para evitar el conflicto con Windows Terminal. Los comandos son un ejercicio previsto para el lector, no una transcripción de una ejecución realizada por nosotros.
Crea una vez y verifica dos resultados distintos
En ese repositorio, wt switch --create demo-review --no-hooks solicita una rama y un árbol nuevos sin hooks de ciclo de vida de Worktrunk. Usa el nombre correspondiente en Windows. Un mensaje de creación no demuestra que el terminal padre haya cambiado de directorio. Comprueba por separado rama, directorio, estado y listado de árboles Git.
Si git worktree list --porcelain muestra el árbol nuevo pero sigues en el directorio original, revisa la integración en lugar de repetir la creación. El código distingue una función envolvente instalada de una activa. Invocar la ruta explícita del binario puede omitirla; git wt se ejecuta como subproceso de Git y no puede cambiar el directorio del terminal padre.
Define el éxito antes de aprender a borrar
Registra rama original, rama nueva, ruta nueva y estado limpio en el árbol previsto. Si la rama ya existe, detente a inspeccionarla en vez de añadir una opción de fuerza. Ante un error conserva el mensaje y el estado inicial: la existencia de un directorio no prueba que la operación haya terminado correctamente.
Vuelve al directorio original y conserva el árbol desechable hasta comprender su retirada. No utilices wt merge como comando de salida: su comportamiento documentado puede preparar cambios, comprimir commits, rebasar y eliminar el árbol de origen. No hace falta fusionar ni borrar para demostrar que dos tareas disponen de directorios distintos.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Revisa la configuración y registra rama y ruta originales.
- 2
Crea demo-review con hooks desactivados.
- 3
Comprueba rama, ruta, estado y listado de árboles.
- 4
Vuelve al directorio original y aplaza la limpieza.
Ejemplo para copiar
# Solo en un repositorio desechable con commit inicial.
# En Windows usa git-wt en vez de wt.
wt switch --create demo-review --no-hooks
git branch --show-current
git status --short
git worktree list --porcelainPreguntas frecuentes
¿Por qué no cambió el directorio?
Puede faltar o haberse omitido la función envolvente; primero verifica si el árbol llegó a crearse.
¿--no-hooks elimina todos los riesgos?
No. Desactiva los hooks compatibles de esa operación, no las mutaciones Git ni toda ejecución posible del entorno.
Fuentes
- Worktrunk / README.mdFuente verificada 2026-09-14
- Worktrunk / docs/src/content/docs/hook.mdFuente verificada 2026-09-14
- Worktrunk / src/output/shell_integration.rsFuente verificada 2026-09-14