Przejdź do głównej zawartości

Czym jest jj?

Jujutsu (polecenie: jj) to system kontroli wersji, który używa gita jako backendu przechowywania, zastępując jednocześnie widoczny dla użytkownika model gita czystszym i spójniejszym.

Pojęcie git jj
Niezatwierdzone zmiany Osobna „staging area“ Nie istnieją — edycje od razu są częścią commita kopii roboczej
Wskaźnik gałęzi Przesuwa się automatycznie przy commicie Nazywa się bookmark; przesuwasz go jawnie
Poprawianie commita git commit --amend Po prostu edytuj plik — jj robi migawki na bieżąco
Cofanie git reflog (ręcznie) jj op undo — pełny log operacji, cofniesz się z każdego stanu
Konflikty Trzeba rozwiązać przed commitem Można je zacommitować i rozwiązać później

Staging area i mutowalna historia gita tworzą tarcie w narzędziach graficznych. Model jj naturalnie pasuje do interfejsu wizualnego:

  • Każdy wiersz logu to prawdziwy commit — nie istnieje pojęcie „brudnego drzewa roboczego“.
  • Identyfikatory zmian (change ID) są stabilne między rebase’ami, więc linki i odwołania się nie psują.
  • Log operacji daje Ci kompletną, odwracalną historię każdego działania.

Nie musisz znać poleceń gita — wyrmflow obsługuje wszystko wizualnie. Warto jednak wiedzieć, że jj działa na bazie gita, więc Twoje repozytoria pozostają w pełni kompatybilne z GitHubem, GitLabem i każdym innym hostingiem git.