Un script de inicialización (bin/setup) preparado para trabajar con Git worktrees permite ejecutar múltiples copias de un mismo repositorio en paralelo sin colisiones de puertos, bases de datos ni archivos de estado. Aunque Git mantiene el código aislado entre worktrees, los recursos de ejecución —puertos, nombres de contenedores, bases de datos, claves de caché, URLs de callback o estado de Terraform— siguen siendo globales y entran en conflicto cuando dos worktrees intentan correr a la vez. Con la proliferación de agentes de codificación que abren varias ramas de forma simultánea, esta colisión se ha vuelto cotidiana.
El artículo propone una estrategia híbrida: compartir una sola pila de servicios locales (bases de datos, emuladores de almacenamiento, capturadores de correo) por máquina, pero aislar por worktree los puertos, los nombres de bases de datos, los namespaces de caché, las colas, los buckets, las variables de entorno y los registros. El script de setup se encarga de derivar un identificador legible para cada worktree, registrarlo en un allocator con cerrojo, asignar puertos libres y generar la configuración correspondiente. Antes de eso, un bin/doctor verifica que el toolchain (por ejemplo, gestionado con mise) y los servicios Docker compartidos están disponibles, e imprime reparaciones concretas si falta algo.
El texto también aborda los límites: cuando una rama requiere versiones incompatibles de los servicios o migraciones destructivas, conviene una pila dedicada. Además, los comandos de reset y teardown deben operar solo sobre los recursos del worktree actual, dejando intactos los volúmenes compartidos y los estados de los demás checkouts. La prueba de aceptación consiste en crear dos worktrees, correr setup en paralelo, levantar ambos servidores, ejecutar sus suites de tests y eliminar uno sin afectar al otro.
