Loading...
Loading...
This skill should be used when the user mentions Jujutsu version control, "jj" commands, working with jj repositories, or asks about Git to Jujutsu equivalents. Triggers on keywords like "jujutsu", "jj", "jj-vcs", "jj repo", "jj commit", "jj log", "jj new", "jj squash", "jj rebase", "jj bookmark", or questions about Jujutsu workflows and concepts.
npx skill4agent add ahmedelgabri/dotfiles jujutsujjaddkkmpptxzabc123def@@-root()bookmarks()foo..barfoo::barA | BA & B~A| Git Command | Jujutsu Equivalent | Notes |
|---|---|---|
| | Use |
| | Git repos only |
| | Shows working copy diff |
| | Diff of working copy |
| N/A | No staging area |
| | Auto-includes all changes |
| | Squash into parent |
| | Visual commit graph |
| | Show revision details |
| | Start new change |
| | Edit existing change |
| | Discard working copy |
| | Just start new change |
| | Rebase A onto B |
| | Copy commits |
| | Creates merge commit |
| | Fetch from remote |
| | Push bookmarks |
| | Create bookmark |
# Clone a repo
jj git clone https://github.com/owner/repo
# Or init in existing directory
jj git init --colocate
# Create new change from main
jj new main
# Work on files (no add needed)
# Edit files...
# Describe the change
jj describe -m "feat: add new feature"
# Finish and start next change
jj new# Show log with graph
jj log
# Show working copy diff
jj diff
# Show specific revision
jj show @-
# Status of working copy
jj st
# Show file at revision
jj file show path/to/file -r REV# Squash working copy into parent
jj squash
# Squash specific change into parent
jj squash -r CHANGE
# Interactive squash (select hunks)
jj squash -i
# Split a commit
jj split
# Edit a commit message
jj describe -r REV -m "new message"
# Edit an older commit
jj edit CHANGE
# Make changes...
jj new # Return to tip# Rebase current change onto main
jj rebase -d main
# Rebase branch onto main
jj rebase -b BRANCH -d main
# Rebase revision and descendants
jj rebase -r REV -d DEST
# Rebase source and descendants
jj rebase -s SOURCE -d DEST# Create bookmark at current change
jj bookmark create NAME
# Create bookmark at specific revision
jj bookmark create NAME -r REV
# Move bookmark
jj bookmark move NAME -r REV
# List bookmarks
jj bookmark list
# Track remote bookmark
jj bookmark track NAME@origin
# Push bookmark to remote
jj git push --bookmark NAME
# Push all bookmarks
jj git push --all
# Fetch from remote
jj git fetch# Create PR branch
jj new main
# Work...
jj describe -m "feat: my feature"
jj bookmark create my-feature
jj git push --bookmark my-feature
# Update PR after review
jj edit my-feature
# Make changes...
jj git push --bookmark my-feature
# After merge, clean up
jj git fetch
jj bookmark delete my-feature# Check for conflicts
jj log # Conflicted commits shown with marker
# Resolve conflicts
jj new CONFLICTED_CHANGE
# Edit conflict markers in files
jj squash # Squash resolution into conflicted change
# Or use resolve command
jj resolve# View operation log
jj op log
# Undo last operation
jj undo
# Restore to specific operation
jj op restore OP_IDjj git init --colocate.git.jjjj git init.jjjj git exportreferences/git-command-table.mdreferences/revsets.md