SuperAPI AI 工具集

jujutsu

智能体与模型

查看项目

更新于 10-15 21:40

技能介绍

用途:本资料指导 Claude Code 在版本控制操作中使用 jj(Jujutsu)替代 git。jj 是 Git 兼容的版本控制系统,模型更简单,并具备强大的历史编辑能力。

主要能力与心智模型:没有暂存区,每个改动都属于工作副本提交;工作副本本身就是一个提交,@ 表示当前工作副本提交;使用 bookmark 而非 branch,提交是匿名的,仅在推送时命名 bookmark;冲突是一种值,不会阻塞操作,可稍后解决;编辑历史时后代提交会自动变基。

常用命令:状态 jj st;日志 jj log(jj log -r 'all()' 查看全部);差异 jj diff --git 或 jj diff --git -r <rev>;查看提交 jj show <rev>;描述 jj desc -m "…";新建提交 jj new [-m "…"] 或 jj new <rev>;编辑已有提交 jj edit <rev>;压缩进父提交 jj squash -m "…";跨提交压缩路径 jj squash --from <src> --into <dst> <paths>;从某版本恢复路径 jj restore --from <rev> <paths>;按文件拆分 jj split <path>...;吸收 jj absorb;变基 jj rebase -d <dest>;bookmark 用 jj bookmark create|set|delete;拉取与推送 jj git fetch / jj git push -b <n>;冲突与撤销 jj log -r 'conflicts()' / jj op undo。

使用方式:建议边做边建提交,而非事后拆分;推送前依次检查冲突、状态、变基到最新 main、审查改动并推送。多步骤的版本控制工作(历史清理、变基、冲突解决、拆分提交)可交给子代理(Sonnet)执行并返回一行摘要,以节省上下文;但简单的一次性操作应直接内联执行。LLM 无法操作交互式 TUI,应始终使用非交互形式,如为 describe、squash、commit、new 传入 -m "…"。

限制与注意:jj absorb 只会把改动块移入已触及相同行的祖先提交,不会创建提交;恢复可用 jj op log、jj op undo、jj op restore <id>;可用 jj git init --colocate 与 git 共存,共享 .git 目录。资料未提供收费、价格、平台与效果等信息。