¿Qué es jj?
Jujutsu (comando: jj) es un sistema de control de versiones que usa git como backend de almacenamiento, sustituyendo el modelo de git de cara al usuario por uno más limpio y consistente.
Diferencias clave con git a secas
Sección titulada «Diferencias clave con git a secas»| Concepto | git | jj |
|---|---|---|
| Cambios sin confirmar | «Staging area» separada | No existen — las ediciones forman parte inmediatamente del commit de la copia de trabajo |
| Puntero de rama | Se mueve automáticamente al hacer commit | Se llama bookmark; lo mueves tú explícitamente |
| Enmendar un commit | git commit --amend |
Simplemente edita el archivo — jj toma instantáneas continuamente |
| Deshacer | git reflog (manual) |
jj op undo — log de operaciones completo, reversible desde cualquier estado |
| Conflictos | Hay que resolverlos antes de confirmar | Pueden confirmarse y resolverse más tarde |
Por qué wyrmflow es nativo para jj
Sección titulada «Por qué wyrmflow es nativo para jj»La staging area de git y su historial mutable crean fricción en las herramientas gráficas. El modelo de jj encaja de forma natural en una interfaz visual:
- Cada fila del log es un commit real — no existe el concepto de «árbol de trabajo sucio».
- Los change ID son estables entre rebases, así que los enlaces y referencias no se rompen.
- El log de operaciones te da un historial completo y reversible de cada acción.
¿Necesito saber git?
Sección titulada «¿Necesito saber git?»No necesitas conocer los comandos de git — wyrmflow lo gestiona todo visualmente. Pero entender que jj se apoya sobre git significa que tus repos son totalmente compatibles con GitHub, GitLab y cualquier otro host de git.