What is jj?
Jujutsu (command: jj) is a version control system that uses git as a storage backend while replacing git’s user-facing model with a cleaner, more consistent one.
Key differences from plain git
Section titled “Key differences from plain git”| Concept | git | jj |
|---|---|---|
| Unstaged changes | Separate “staging area” | Don’t exist — edits are immediately part of the working-copy commit |
| Branch pointer | Moves automatically on commit | Called a bookmark; you move it explicitly |
| Amending a commit | git commit --amend | Just edit the file — jj snapshots continuously |
| Undo | git reflog (manual) | jj op undo — full operation log, undoable from any state |
| Conflicts | Must resolve before committing | Can be committed and resolved later |
Why wyrmflow is jj-native
Section titled “Why wyrmflow is jj-native”git’s staging area and mutable history create friction in GUI tools. jj’s model maps naturally to a visual interface:
- Every row in the log is a real commit — there is no “dirty working tree” concept.
- Change IDs are stable across rebases, so links and references don’t break.
- The operation log gives you a complete, undoable history of every action.
Do I need to know git?
Section titled “Do I need to know git?”You don’t need to know git commands — wyrmflow handles everything visually. But understanding that jj sits on top of git means your repos are fully compatible with GitHub, GitLab, and every other git host.