返回 Skill 列表
extension
分类: 开发与工程无需 API Key

jujutsu

柔术(jj)版本控制系统指南。在处理提交、分支、拉取请求、PRs、版本控制、变基、推送或当用户提到jj、git或版本控制操作时使用。

person作者: jakexiaohubgithub

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 | | Create & push bookmark | jj git push --named name=@ | | Push existing bookmark | jj git push --bookmark name |

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

Quick Git-to-Jujutsu Translation

| Git | Jujutsu | |-----|---------| | git status | jj st | | git diff | jj diff | | git log | jj log | | git add . && git commit -m "msg" | jj commit -m "msg" | | git push | jj git push | | git pull | jj git fetch then jj rebase -d main@origin | | git checkout -b branch | jj new main then jj bookmark set branch | | git branch | jj bookmark list | | git stash | jj new (just start new commit) | | git blame | jj file annotate |

Additional References