Defeating Git Rigour Fatigue with Jujutsu
Advocates of the Jujutsu (jj) version-control system argue it offers a cleaner mental model and more ergonomic tools than Git for rewriting history, handling rebases, and keeping complex feature work organized, especially through features like mutable commits, first-class conflicts, and powerful undo. Critics counter that jj’s approach to branches, bookmarks, and auto-tracking can be cumbersome in collaborative workflows that rely on long-lived, named branches, and that Git’s existing tooling (often aided by UIs or AI agents) already solves most practical problems. Many see the choice as a matter of workflow fit and team habits rather than clear technical superiority, with jj appealing most to those who frequently reshape commit history and Git remaining sufficient for others.
Branching, bookmarks, and collaboration
- Major tension around jj’s “bookmarks instead of auto‑moving branches.”
- Some find manual bookmark advancement (or configuring auto‑advance) needless friction, especially with many long‑lived named branches and collaborators who rely on branch names.
- Others like anonymous branches and use descriptions and short change IDs; they see branch names as mostly redundant and only needed at push/PR time.
- Several people report using jj in mixed teams where everyone else uses git, saying interoperability is smooth and teammates don’t need to know jj is involved.
Rewriting history, rebasing, and conflicts
- Some refuse to rewrite history, preferring merges and occasional squash on merge requests.
- jj fans emphasize:
- Constant, non‑modal rebasing where editing an old commit auto‑replays descendants.
- Conflicts are first‑class: commits can remain conflicted, to be resolved later, making long or complex rebases less painful.
jj undoand operation logs make it easy to recover from mistakes.
- Skeptics argue
git rebase -i,git reset --soft, and tools likegit-absorbalready cover most workflows, and that the real cost is mental discipline, not commands.
Workflows, ergonomics, and mental models
- Advocates say jj’s model (working copy as a commit, lots of anonymous branches, absorb/squash to clean history) better matches how they actually work and encourages cleaner PR stacks.
- Critics find jj’s “everything tracked” and auto‑amend behavior disruptive, especially when they keep many temporary, untracked files; some mitigate via ignore files or turning off auto‑add.
- There’s debate over whether meticulous commit narratives are worth it; some value fine‑grained, review‑friendly histories, others just squash and rely on the PR diff.
Tooling, AI, and adoption prospects
- Some feel Magit, Lazygit, and aliases already smooth git’s rough edges; jj’s benefits don’t justify switching for experienced git users.
- Others say jj’s simplicity makes it easier to teach than git and better suited for “normal” users.
- A few argue LLMs increasingly handle git operations and merges, reducing the importance of human‑friendly VCS UX; others counter that they’d rather let agents manipulate jj because its undo/redo model feels safer.