jj
Jujutsu (jj) version control workflow. Use when the project uses jj instead of git. Provides command equivalents and workflow patterns.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Jujutsu (jj) version control workflow. Use when the project uses jj instead of git. Provides command equivalents and workflow patterns.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | jj |
| description | Jujutsu (jj) version control workflow. Use when the project uses jj instead of git. Provides command equivalents and workflow patterns. |
This project uses jj (Jujutsu) for version control, not git.
| Task | jj command | git equivalent |
|---|---|---|
| Status | jj status or jj st | git status |
| Diff | jj diff | git diff |
| Log | jj log | git log |
| Show commit | jj show | git show |
| Create commit | jj new | git commit |
| Set commit message | jj describe -m "msg" | git commit -m "msg" |
| Amend | jj squash | git commit --amend |
| Switch commits | jj edit <rev> | git checkout |
| Branches | jj bookmark list | git branch |
| Create branch | jj bookmark create <name> | git branch <name> |
| Push | jj git push | git push |
| Fetch | jj git fetch | git fetch |
| Undo | jj undo | git reset |
| Abandon commit | jj abandon | - |
| List workspaces | jj workspace list | git worktree list |
| Add workspace | jj workspace add <path> | git worktree add |
| Remove workspace | jj workspace forget <name> | git worktree remove |
jj has no staging area. All changes in the working copy are automatically part of the current commit.
# Just describe and create new commit
jj describe -m "Add feature"
jj new
The working copy is always a commit (the @ commit). Changes are tracked automatically.
Conflicts can be committed and resolved later. No need to resolve immediately.
Use workspaces to work on multiple tasks simultaneously without stashing or switching branches.
# List workspaces
jj workspace list
# Create workspace for a new task
jj workspace add ../project-feature-x # Creates sibling directory
cd ../project-feature-x
# Or create at specific commit
jj workspace add ../project-bugfix --revision @-
# Delete workspace when done
jj workspace forget feature-x
Each workspace:
Workflow for parallel tasks:
# Main workspace: working on feature A
cd ~/project
# Need to fix urgent bug? Create new workspace
jj workspace add ../project-hotfix --revision main
cd ../project-hotfix
# Fix bug here...
jj describe -m "Fix critical bug"
jj git push
# Back to feature A
cd ~/project
# Continue working...
Clojure's immutability makes parallel implementation safe. When spawning subagents to implement independent features:
# Create workspaces for each subagent
jj workspace add /tmp/workspace-feature-a
jj workspace add /tmp/workspace-feature-b
# Each subagent works in its workspace, then commits:
# (in /tmp/workspace-feature-a)
jj describe -m "Implement feature A"
jj bookmark set main -r @
# After all subagents complete, cleanup from main workspace:
cd "$CLAUDE_PROJECT_DIR"
jj workspace forget feature-a feature-b
rm -rf /tmp/workspace-feature-a /tmp/workspace-feature-b
Key benefits:
# Edit files...
jj status # See changes
jj diff # Review changes
jj describe -m "Description of changes"
jj new # Start new commit
jj edit <rev> # Go back to commit
# Make fixes...
jj squash # Fold into parent, or
jj new # Create new commit on top
jj bookmark create my-branch # Create bookmark if needed
jj git push --bookmark my-branch