name: jujutsu
description: Guide to Jujutsu (jj) version control system. Use when working with commits, branches, version control, rebasing, or when the user mentions jj, git, or version control operations.
Jujutsu (jj) Version Control Guide
Jujutsu is a modern, Git-compatible version control system. This project uses jj colocated with git.
Key Differences from Git
Concept
Git
Jujutsu
Staging area
Explicit git add
None - working copy IS a commit
Branches
Named refs
Bookmarks (auto-follow rewrites)
Stash
Separate stash stack
Not needed - just use commits
Amend
git commit --amend
Just edit files, or use jj squash
Identity
Commit ID only
Change ID (stable) + Commit ID
Essential Commands
Task
Command
Status
jj status or jj st
Diff
jj diff
Log
jj log
Commit & continue
jj commit -m "message"
Update message
jj describe -m "message"
New empty commit
jj new
Squash into parent
jj squash
Undo last operation
jj undo
Fetch from remote
jj git fetch
Push to remote
jj git push
Working Copy Model
The working copy (@) is always a commit. File changes are automatically tracked - no staging required.
parent commit
↓
@ (working copy) ← your edits go here automatically