Uma interface de terminal para Git, inspirada no Magit, que permite preparar alterações, fazer commits, gerenciar branches, rebase e muito mais pelo teclado.
jj-vcs/jj
Jujutsu (jj) é um sistema de controle de versão compatível com Git que registra as alterações na cópia de trabalho como commits e acompanha todas as operações para permitir desfazê-las.
- Estrelas
- 32,394
- Forks
- 1,279
- Issues abertas
- 1,249
- Último commit
- há 6 horas
O que é?
Jujutsu é um sistema de controle de versão para projetos de software que permite obter uma cópia do código, acompanhar alterações e publicá-las para outras pessoas. Sua ferramenta de linha de comando se chama jj. O backend de armazenamento padrão usa repositórios Git, então você pode buscar e enviar alterações para qualquer remoto Git e voltar a usar o Git a qualquer momento.
O Jujutsu trata a cópia de trabalho como um commit real, por isso os comandos não falham quando a árvore de trabalho tem alterações e não há necessidade de stash ou área de staging. Toda operação no repositório é registrada em um log de operações, o que permite desfazer erros ou reverter uma operação anterior. Os conflitos ficam armazenados nos commits em vez de interromper o fluxo de trabalho e, quando um commit é modificado, seus descendentes são automaticamente rebaseados sobre ele, com as resoluções de conflito também propagadas.
O projeto se inspira em ideias do Git, Mercurial e Darcs, incluindo consultas revset e branches anônimos. Atualmente, o backend Git é a opção pronta para produção, e o projeto ainda está antes da versão 1.0, então alguns fluxos de trabalho e formatos em disco podem mudar.
Recursos principais
- 01Usa repositórios Git como armazenamento padrão e funciona com qualquer remoto Git.
- 02Registra a cópia de trabalho como um commit, sem área de staging nem stash.
- 03Registra todas as operações no repositório, permitindo desfazê-las e reverter operações anteriores.
- 04Armazena conflitos nos commits e rebaseia automaticamente os descendentes.
- 05Oferece comandos como jj describe, jj diffedit, jj split e jj squash para reescrever o histórico.
Casos de uso
- Desenvolvedores que querem um fluxo de trabalho mais simples sobre um repositório Git existente.
- Equipes que precisam se recuperar de erros usando o log de operações.
- Manter um repositório em uma pasta do Dropbox ou fazer backup com rsync de forma segura em cenários de concorrência.
Início rápido
- 1
Instale o jj seguindo as instruções oficiais de instalação vinculadas no README
- 2
Siga o tutorial oficial para aprender o básico
- 3
Consulte o uso de qualquer comando com jj help <command>
Antes de usar
- O README descreve o Jujutsu como experimental, então ele pode apresentar bugs e mudanças na interface do usuário.
- Apenas o backend de armazenamento Git está pronto para produção; os outros não estão.
- Segundo o README, o projeto é relativamente novo e ainda há muito trabalho a fazer.
- Alguns recursos, como a replicação concorrente segura, são marcados como experimentais e podem alterar o formato de armazenamento.
Em coleções
Tópicos
Perguntas frequentes
- O que é jj?
- Jujutsu (jj) é um sistema de controle de versão compatível com Git que registra as alterações na cópia de trabalho como commits e acompanha todas as operações para permitir desfazê-las. Jujutsu é um sistema de controle de versão para projetos de software que permite obter uma cópia do código, acompanhar alterações e publicá-las para outras pessoas. Sua ferramenta de linha de comando se chama jj. O backend de armazenamento padrão usa repositórios Git, então você pode buscar e enviar alterações para qualquer remoto Git e voltar a usar o Git a qualquer momento.
- jj é gratuito? Qual é a licença?
- jj é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- jj ainda é mantido?
- Manutenção ativa. O último commit de jj foi em 7 de nov. de 2026.
- Para que posso usar jj?
- Desenvolvedores que querem um fluxo de trabalho mais simples sobre um repositório Git existente. Equipes que precisam se recuperar de erros usando o log de operações. Manter um repositório em uma pasta do Dropbox ou fazer backup com rsync de forma segura em cenários de concorrência.
- Como instalar jj?
- Instale o jj seguindo as instruções oficiais de instalação vinculadas no README Siga o tutorial oficial para aprender o básico Consulte o uso de qualquer comando com jj help <command>
- Onde consigo jj?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jj-vcs/jj
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma interface de terminal simples para comandos do Git que agiliza o stage, os commits, o rebase e o trabalho com branches pelo teclado.
Git é um sistema de controle de versão distribuído e rápido, com um conjunto amplo de comandos que oferece operações de alto nível e acesso aos detalhes internos.
Uma interface de terminal em modo texto, baseada em ncurses, para navegar por repositórios Git e preparar alterações por trecho.
Extensão da GitHub CLI para criar, rebasear, enviar e mesclar pull requests empilhados em uma cadeia de branches pequenas e fáceis de revisar.
Um driver de merge do Git no nível de entidades, que combina código por funções, classes e chaves em vez de linhas e evita conflitos falsos entre alterações independentes.