jujutsu
Original:🇺🇸 English
Translated
Manages version control with Jujutsu (jj), including rebasing, conflict resolution, and Git interop. Use when tracking changes, navigating history, squashing/splitting commits, or pushing to Git remotes.
6installs
Sourceknoopx/pi
Added on
NPX Install
npx skill4agent add knoopx/pi jujutsuTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Jujutsu
Git-compatible VCS focused on concurrent development and ease of use.
Key Commands
| Command | Description |
|---|---|
| Show working copy status |
| Show change log |
| Show changes in working copy |
| Create new change |
| Edit change description |
| Move changes to parent |
| Split current change |
| Rebase changes |
| Move changes into stack of mutable revisions |
| Find bad revision by bisection |
| Update files with formatting fixes |
| Cryptographically sign a revision |
| Modify metadata without changing content |
Project Setup
bash
jj git init # Init in existing git repo
jj git init --colocate # Side-by-side with gitBasic Workflow
bash
jj new # Create new change
jj desc -m "feat: add feature" # Set description
jj log # View history
jj edit change-id # Switch to change
jj new --before @ # Time travel (create before current)
jj edit @- # Go to parentTime Travel
bash
jj edit change-id # Switch to specific change
jj next --edit # Next child change
jj edit @- # Parent change
jj new --before @ -m msg # Insert before currentMerging & Rebasing
bash
jj new x yz -m msg # Merge changes
jj rebase -s src -d dest # Rebase source onto dest
jj abandon # Delete current changeConflicts
bash
jj resolve # Interactive conflict resolution
# Edit files, then continueTemplates & Revsets
bash
jj log -T 'commit_id ++ "\n" ++ description'
jj log -r 'heads(all())' # All heads
jj log -r 'remote_bookmarks()..' # Not on remote
jj log -r 'author(name)' # By authorGit Interop
bash
jj bookmark create main -r @ # Create bookmark
jj git push --bookmark main # Push bookmark
jj git fetch # Fetch from remote
jj bookmark track main@origin # Track remoteAdvanced Commands
bash
jj absorb # Auto-move changes to relevant commits in stack
jj bisect start # Start bisection
jj bisect good # Mark current as good
jj bisect bad # Mark current as bad
jj fix # Run configured formatters on files
jj sign -r @ # Sign current revision
jj metaedit -r @ -m "new message" # Edit metadata onlyTips
- No staging: changes are immediate
- Use conventional commits:
type(scope): desc - to revert operations
jj undo - to see operation history
jj op log - Bookmarks are like branches
- is powerful for fixing up commits in a stack
jj absorb
Related Skills
- gh: GitHub CLI for PRs and issues
- review: Code review before committing