Primeros pasos con jj
Crear un repositorio
Nuevo repositorio (colocado con Git)
jj git init mi-proyecto
cd mi-proyecto
Esto crea un repo jj con backend Git — funciona con GitHub, GitLab, etc.
Clonar un repositorio Git existente
jj git clone https://github.com/usuario/repo.git
cd repo
Convertir un repo Git existente
Desde dentro de un repo Git:
jj git init --colocate
Esto permite usar jj y git en el mismo directorio.
Ver el estado
jj status
Muestra qué archivos han cambiado en el working copy. A diferencia de Git, no hay “untracked” ni “staged” — todo cambio se refleja directamente.
Ver el log
jj log
Salida típica:
@ sqpuoqvx [email protected] 2026-02-26 08:30
│ (no description set)
◆ zzzzzzzz root()
El @ indica tu working copy actual. Cada commit tiene un change ID corto (como sqpuoqvx) que es estable aunque edites el commit.
Flujo básico de trabajo
1. Haz tus cambios normalmente
echo "# Mi Proyecto" > README.md
echo "console.log('hola')" > index.js
No necesitas add ni stage. jj ya registró los cambios.
2. Describe tu commit
jj describe -m "agregar README y archivo inicial"
3. Crea un nuevo cambio para seguir trabajando
jj new
Esto crea un nuevo commit vacío sobre el actual. Ahora tu working copy es este nuevo commit.
4. Repite el ciclo
# Haz cambios...
jj describe -m "agregar configuración"
jj new
Ver diferencias
# Diferencias en el working copy
jj diff
# Diferencias de un commit específico
jj diff -r sqpuoqvx
# Diferencias entre dos commits
jj diff --from abc --to xyz
Ver contenido de un commit
jj show
jj show sqpuoqvx
Resumen de comandos básicos
| Comando | Descripción |
|---|---|
jj git init | Crear repo con backend Git |
jj git clone URL | Clonar repo Git |
jj status | Ver estado del working copy |
jj log | Ver historial |
jj diff | Ver cambios |
jj describe -m "msg" | Describir el commit actual |
jj new | Crear nuevo commit vacío |
jj show | Ver detalle de un commit |