Jujutsu (jj) is a version control system that uses Git as a backend but introduces a fundamentally different mental model. Instead of immutable commits, jj works with 'changes' — evolving units of work with persistent change IDs that survive rewrites. Key differences from Git include: no staging area, bookmarks instead of auto-advancing branches, and a powerful revset query language for selecting revisions. The article walks through a basic jj workflow (fetch, create change, commit, push) and demonstrates how conflict resolution during rebases is smoother — jj records conflicts inline rather than pausing the operation, letting you resolve them like any other edit. Commands like jj edit, jj squash, jj resolve, and jj describe are introduced as building blocks for daily use.
95.2K Impressions3 Comments