Interfaz de terminal para Git inspirada en Magit, para preparar cambios, crear commits, gestionar ramas, hacer rebase y más con el teclado.
jj-vcs/jj
Jujutsu (jj) es un sistema de control de versiones compatible con Git que registra los cambios de la copia de trabajo como commits y mantiene un historial de operaciones para deshacerlas.
- Estrellas
- 32,368
- Forks
- 1,278
- Issues abiertos
- 1,249
- Último commit
- hace 22 horas
¿Qué es?
Jujutsu es un sistema de control de versiones para proyectos de software que permite obtener una copia del código, hacer seguimiento de los cambios y publicarlos para otras personas. Su herramienta de línea de comandos se llama jj. El backend de almacenamiento predeterminado usa repositorios Git, por lo que puedes obtener y enviar cambios a cualquier remoto de Git y volver a Git en cualquier momento.
Jujutsu trata la copia de trabajo como un commit real, por lo que los comandos no fallan cuando el árbol de trabajo tiene cambios y no hacen falta stashes ni un área de preparación. Cada operación del repositorio queda registrada en un historial de operaciones, lo que permite deshacer errores o revertir operaciones anteriores. Los conflictos se almacenan dentro de los commits en lugar de detener el flujo de trabajo y, cuando se modifica un commit, sus descendientes se reorganizan automáticamente sobre él; las resoluciones de conflictos también se propagan.
El proyecto toma ideas de Git, Mercurial y Darcs, incluidas las consultas revset y las ramas anónimas. Actualmente, el backend de Git es la opción lista para producción y el proyecto aún es anterior a la versión 1.0, por lo que algunos flujos de trabajo y formatos en disco podrían cambiar.
Funciones clave
- 01Usa repositorios Git como almacenamiento predeterminado y funciona con cualquier remoto de Git.
- 02Registra la copia de trabajo como un commit, por lo que no hay área de preparación ni stash.
- 03Registra todas las operaciones del repositorio, lo que permite deshacerlas y revertir operaciones anteriores.
- 04Almacena los conflictos dentro de los commits y reorganiza automáticamente sus descendientes.
- 05Incluye comandos como jj describe, jj diffedit, jj split y jj squash para reescribir el historial.
Casos de uso
- Desarrolladores que quieren un flujo de trabajo más sencillo sobre un repositorio Git existente.
- Equipos que necesitan recuperarse de errores mediante el historial de operaciones.
- Mantener un repositorio en una carpeta de Dropbox o crear copias de seguridad con rsync de forma segura ante la concurrencia.
Inicio rápido
- 1
Instala jj siguiendo las instrucciones oficiales de instalación enlazadas en el README
- 2
Sigue el tutorial oficial para aprender los conceptos básicos
- 3
Consulta el uso de cualquier comando con jj help <command>
Antes de usarlo
- El README describe Jujutsu como experimental, por lo que puede tener errores y cambios en la interfaz de usuario.
- Solo el backend de almacenamiento Git está listo para producción; los demás no lo están.
- Según el README, el proyecto es relativamente joven y aún queda mucho trabajo por hacer.
- Algunas funciones, como la replicación concurrente segura, están marcadas como experimentales y pueden cambiar el formato de almacenamiento.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es jj?
- Jujutsu (jj) es un sistema de control de versiones compatible con Git que registra los cambios de la copia de trabajo como commits y mantiene un historial de operaciones para deshacerlas. Jujutsu es un sistema de control de versiones para proyectos de software que permite obtener una copia del código, hacer seguimiento de los cambios y publicarlos para otras personas. Su herramienta de línea de comandos se llama jj. El backend de almacenamiento predeterminado usa repositorios Git, por lo que puedes obtener y enviar cambios a cualquier remoto de Git y volver a Git en cualquier momento.
- ¿jj es gratuito? ¿Qué licencia tiene?
- jj es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿jj sigue mantenido?
- Mantenimiento activo. El último commit de jj fue el 5 nov 2026.
- ¿Para qué puedo usar jj?
- Desarrolladores que quieren un flujo de trabajo más sencillo sobre un repositorio Git existente. Equipos que necesitan recuperarse de errores mediante el historial de operaciones. Mantener un repositorio en una carpeta de Dropbox o crear copias de seguridad con rsync de forma segura ante la concurrencia.
- ¿Cómo se instala jj?
- Instala jj siguiendo las instrucciones oficiales de instalación enlazadas en el README Sigue el tutorial oficial para aprender los conceptos básicos Consulta el uso de cualquier comando con jj help <command>
- ¿Dónde consigo jj?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jj-vcs/jj
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una interfaz de terminal sencilla para ejecutar comandos de Git y agilizar con el teclado el staging, los commits, el rebase y el trabajo con ramas.
Git es un sistema de control de versiones distribuido y rápido, con un amplio conjunto de comandos que ofrece tanto operaciones de alto nivel como acceso a sus componentes internos.
Interfaz de terminal en modo texto basada en ncurses para explorar repositorios Git y preparar cambios por fragmentos.
Extensión de GitHub CLI para crear, rebasar, enviar y fusionar pull requests apiladas como una cadena de ramas pequeñas y fáciles de revisar.
Un controlador de merge de Git a nivel de entidad que combina código por funciones, clases y claves en lugar de por líneas, y evita conflictos falsos entre cambios independientes.