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.
Najważniejsze różnice względem zwykłego gita
Dział zatytułowany „Najważniejsze różnice względem zwykłego gita”| 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 |
Dlaczego wyrmflow jest natywny dla jj
Dział zatytułowany „Dlaczego wyrmflow jest natywny dla jj”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.
Czy muszę znać gita?
Dział zatytułowany „Czy muszę znać gita?”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.