Git worktree frente a submódulo: ¿cuál necesitas?
Worktree: otro checkout del mismo repositorio
Un worktree vinculado te permite trabajar en otra rama en una carpeta distinta sin cambiar el checkout que ya tienes abierto. Úsalo para tareas en paralelo o intentos de agentes dentro de un mismo repositorio.
Submódulo: un repositorio independiente dentro de un padre
Un submódulo tiene su propio historial. El repositorio padre registra el commit concreto del submódulo que espera, de modo que puedes incluir otro proyecto y elegir cuándo actualizar esa referencia.
Resuelven problemas distintos: un worktree da a un repositorio varias carpetas de trabajo; un submódulo conecta dos repositorios. FluxGit muestra los worktrees vinculados y el estado de los submódulos entre padre e hijo en la misma vista del espacio de trabajo. Consulta el flujo seguro con worktrees para agentes de programación en paralelo, junto con la documentación de Git worktree y submódulos Git para conocer el comportamiento subyacente de Git.
Usar Git worktree con submódulos
Los worktrees y los submódulos pueden coexistir, pero revisa cada checkout por separado. Git documenta un soporte incompleto de submódulos entre varios worktrees y desaconseja mantener varios checkouts de un superproyecto. Comprueba esa limitación antes de usar esta estructura.
- el commit del submódulo registrado en el HEAD del worktree padre
- el commit del submódulo preparado en el índice del padre
- el HEAD del checkout del submódulo inicializado
Compara estos tres commits antes de cambiar una referencia; que coincidan no demuestra que la carpeta de trabajo del hijo esté limpia. FluxGit muestra el estado padre-hijo y las referencias divergentes; Agent Lanes compara intentos paralelos sin aplicar sus cambios.
Sigue el flujo de inspección de solo lectura