Agent 时代该换 VCS 了:一个 200 行的 Skill,把 git 替换成 jujutsu
你可能没听过 Jujutsu(jj),但你一定被 git 折磨过——rebase 一次心态崩一次,merge 一次心里默念”千万不要冲突”。就在工程师们还在跟 git 的工作树、暂存区、远程分支斗智斗勇的时候,jj 已经在悄悄成为 AI 编程 Agent 的”新默认 VCS“。
上周 GitHub 上悄悄上线了一个叫 jj-skill 的小仓库,专治”Agent 不会用 git”。它不是教你敲命令,而是把整套 jujutsu 工作流封装成 Skill,直接喂给 Codex、Claude Code、Gemini CLI,让 Agent 一上手就走在 jj 的工作流上,而不是继续在 git 的泥潭里挣扎。
jujutsu 是什么?为什么 Agent 需要它?
jj 是 Martin Vučić(aka geohot 之手做的”严肃”项目)开发的新一代版本控制系统,理念很简单——把 commit 当一等公民,把 branch 当临时视图。没有暂存区、没有 staging、conflict 可以”先提交后解决”、操作天然可逆。对人类工程师是”反焦虑”,对 Agent 来说更是救命:
- 非交互:Agent 跑命令不需要 TTY,jj 默认就支持脚本化。
- 操作可逆:任何 commit、rebase、conflict 都能 undo,Agent 写错代码不会留下脏历史。
- 工作目录即 commit:jj 把 working copy 视作一个 commit,Agent 一边改一边自动 snapshot,省掉 git add -p 那种繁琐。
- colocated 模式:可以放在现有 git 仓库里并行用,慢慢迁移而不是一刀切。
jj-skill 怎么用?
作者把仓库做成了极简形态——一个 SKILL.md 加几个适配文件,跨 Agent 通吃:
- AGENTS.md:通用 agent 指南,作为单一信息源。
- CLAUDE.md:Claude 适配器,import 自 AGENTS.md。
- GEMINI.md:Gemini CLI 适配器,同样 import AGENTS.md。
- agents/openai.yaml:给 Codex / skill catalogs 用的元数据。
- references/:cheat-sheet、colocated-git、cross-agent、sources 等速查手册。
安装一条命令:
npx skills add RealAdarsh/jj-skill
或者手动复制到 ~/.codex/skills/jj/,然后在提示词里 Use $jj to ...,Agent 就会按 jj 的语义执行。CLAUDE.md 和 GEMINI.md 直接放进项目根目录就能被各自 runtime 自动识别。
它对”AI 行业观察者”意味着什么?
这个仓库虽然小,但折射出 2026 下半年的一个明确信号——VCS 正在被 Agent 重新发明。当 Codex、Claude Code 都能在 30 秒内写出 500 行代码时,git 那种”小心翼翼、commit message 要写真诚”的工作流反而成了瓶颈。
- jj 的”conflict can be fixed later”哲学,正好对应 Agent 的”先把代码写出来再说”。
- jj 的”change id”自动生成机制,让 Agent 不需要给每个 commit 起名。
- jj 的”操作可逆”,让 Agent 即使把工作树搞乱也能秒回。
换句话说,不是 jj 在追 Agent 热点,而是 Agent 工作流在反向选择 jj。未来 12 个月里,我们大概率会看到越来越多的 Skill 把”非 git 的 VCS”作为默认假设——Sapling、Jujutsu、甚至 Google 内部用的 Piper 风格抽象都可能被包装成 Skill。
现在值得装吗?
如果你已经在用 Codex / Claude Code 跑中型项目,并且被 git 冲突和 rebase 弄烦了,这个仓库值得先 star、再装一遍试试。它不会把你现有的 git 仓库搞坏(colocated 模式兼容),但能让你的 Agent 在写代码时不再为”该不该 stage”这类问题反复停下来问你。
一句话总结:jujutsu 是给 AI Agent 准备的 git,而 jj-skill 是把这种”友好”翻译给所有 Agent 的入口。Agent 时代的版本控制,可能真的要从这里重新开始。
GitHub:https://github.com/RealAdarsh/jj-skill
评论区
登录后可评论。