Skip to content

Jujutsu (jj)

A next-generation VCS that coexists with git. The j prefix mirrors git’s g prefix.

Conceptgitjj
Branchgit branchjj bookmark
Checkoutgit switchjj edit / jj new
Staginggit addNot needed (working copy = stage)
Stashgit stashNot needed (just jj new)
Amendgit commit --amendjj describe / jj squash
Revertgit revertjj backout
Refloggit reflogjj operation log
Worktreegit worktreejj workspace
Blamegit blamejj file annotate
Remotegit push/fetchjj git push/fetch
AliasCommandNote
jjjBase command
jljj logLog
jlljj log --template builtin_log_onelineOne-line log
jlajj log -r "all()"All revisions
jsjj statusStatus
jdjj diffWorking copy diff
jdsjj diff --statDiff stat
jDjj diff -r @-Parent diff
AliasCommandNote
jcjj commitFinalize current change
jcijj commit --interactiveInteractive commit
jnjj newCreate new empty change
jejj editEdit existing change
jdejj describeEdit description
AliasCommandNote
jajj abandonAbandon change
jujj undoUndo last operation
jsqjj squashSquash into parent
jsijj squash --interactiveInteractive squash
jspjj splitSplit change
jrjj rebaseRebase
AliasCommand
jrtjj restore
jshjj show
AliasCommandNote
jbjj bookmark listList
jbcjj bookmark createCreate
jbdjj bookmark deleteDelete
jbmjj bookmark moveMove
jbrnjj bookmark renameRename
AliasCommandNote
jfjj git fetchFetch
jpjj git pushPush
jfrjj git fetch && jj rebase -d "trunk()"Fetch and rebase
AliasCommandNote
jbljj file annotateLike git blame
jfljj file listLike git ls-files
jopjj operation logLike git reflog
ljlazyjjTUI
CommandWhat it does
jsw [change]Pick change and edit
jpso [bookmark]Pick bookmark and push
jPso [bookmark]Pick bookmark and force push
jifitPick 2 changes and view diff
jdif [N]Diff from N ancestors back
jswc [name]Create bookmark at @
jrn [old] [new]Rename bookmark
jnew [change]New change from selected
jedit [change]Edit selected change
jrbInteractive rebase
jsquash [target]Squash into selected target
jbd_skDelete bookmark (fuzzy pick)
jbm_skMove bookmark to @ (fuzzy pick)
CommandWhat it does
jwtInteractive menu
jwt listList workspaces
jwt cd [name]Switch to workspace (interactive if no args)
jwt addCreate workspace
jwt rmRemove workspace

Shortcuts: jwtcd, jwtadd, jwtrm, jwtls