Por qué mirar siquiera Jujutsu

Parte 1 de 9 de una serie sobre aprender jj en modo colocado.

Git funciona. Quince años después, el ecosistema a su alrededor es enorme y cada compañero de equipo ya lo conoce. Ese es un listón alto para cualquier cosa que pretenda reemplazarlo, y Jujutsu (jj) no intenta superar ese listón de un salto: intenta sentarse encima de los mismos repositorios Git que todo el mundo ya tiene, de modo que adoptarlo es una elección personal en lugar de una migración de equipo.

Unas cuantas cosas de él merecen una mirada por sus propios méritos, con independencia de cualquier preferencia filosófica por un modelo de control de versiones “mejor”:

  • Sin área de staging. Cada comando hace primero una instantánea del directorio de trabajo. No hay un momento en el que git status muestre un montón de cambios sin preparar y preparados y yo tenga que recordar cuál es cuál.
  • Edición de historial sin ceremonia. jj edit <commit> me permite arreglar algo tres commits atrás directamente, sin git rebase -i, sin HEAD desanclado, sin la ansiedad de “por favor no pierdas mi trabajo”. La lección 5 lo cubre por completo.
  • Un registro de operaciones más amplio que un reflog. jj undo revierte lo último que hice en el repositorio, fuera lo que fuera, no solo la última actualización de una referencia.
  • Los conflictos son solo datos. Un rebase con conflicto no se detiene ni exige una resolución antes de que pueda hacer cualquier otra cosa. Produce un commit que registra el conflicto, y me ocupo de él cuando quiero.

Nada de eso requiere abandonar Git. El modo colocado, un único directorio de trabajo respaldado tanto por .jj como por .git, significa que la base de datos de objetos real por debajo sigue siendo Git puro. Cada compañero que nunca ha oído hablar de jj, cada pipeline de CI, cada GUI de Git sigue funcionando exactamente como antes. Esa es la propiedad que hace que esto merezca probarse siquiera: el inconveniente de un mal encaje está cerca de cero, porque nada de las partes compartidas y visibles del repositorio cambia.

El plan para esta serie: instalación, el modelo mental, cómo está construida la cosa realmente por debajo, hacer que la salida del terminal sea agradable de mirar, y luego el flujo de trabajo diario real y cómo se encuentra con Git de camino a un remoto.