Defeating Git Rigour Fatigue with Jujutsu

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 undo and operation logs make it easy to recover from mistakes.
  • Skeptics argue git rebase -i, git reset --soft, and tools like git-absorb already 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.