jj-workflow:Google 给 AI 编程助手准备的 Git 替代工作流

Git 用户有没有这种感觉:每次想撤销点什么,心里都要先过一过”这个 commit 能动吗”、”push 了没有”、”要不要 rebase”——然后才敢下手?

Jujutsu(jj)就是来解决这个的。它是一个 Git 的替代品,核心理念就一句:你的工作副本永远是一个”可以改”的变更,而不是一个死的 commit。随时可以改、随时可以撤销、随时可以重写——但只要 push 出去,就变成不可变的正式记录。

Google Cloud 团队在 KHI(Kubernetes History Inspector)项目里,把这套工作流沉淀成了一个 Agent Skill——jj-workflow。这个 Skill 专门给 AI 编程助手(Claude Code、Codex、Cursor)用的,告诉它们怎么用 jj 而不是 Git 来管理代码变更。

它解决了什么问题

传统的 Git 工作流里,commit 是原子的,一旦 push 就最好别动。但 AI 编程助手天生是”快速试错”的节奏——它会频繁生成、修改、测试代码,如果用传统 Git 思路走,每次小修改都要 commit,push 之前还得 squash,历史很快就乱了。

jj-workflow 引入了一个对 AI 极其友好的模式:

  • 工作副本即变更:@(当前工作副本)就是一个可以随意修改的 change,不需要先 add 再 commit。
  • 用描述而非 commit 信息:每次开始新任务用 jj new -m "feat: 做什么",AI 随时可以用 jj describe -m 更新描述,整个过程非交互式,完全不需要打开编辑器。
  • 自动生成 push bookmark:push 时 jj 自动生成一个 push- 的 bookmark,不存在”分支名冲突”的问题。
  • review 迭代不 squash:review 反馈来了,AI 直接在 PR commit 上新建 child revision 继续改,不 squash——reviewer 能看到完整的增量演变过程。

怎么安装

如果你用 Claude Code 或 Codex,直接跑:

npx skills add https://github.com/GoogleCloudPlatform/khi --skill jj-workflow

或者直接把 SKILL.md 里的内容复制进你的 AI 助手的自定义指令里。

实际体验怎么样

我翻了 SkillsMP 上这条 Skill 的记录,更新时间是 2026-08-25,GoogleCloudPlatform/khi 仓库有 2,082 个 Stars。这个 Skill 本身是 Google 内部工作流的公开版——不是玩具,是真的在用的东西。

最有意思的是它对 AI 的”约束设计”:Skill 里明确规定了一些 forbidden 命令(比如 jj squash 在 review 场景下禁止使用),这本质上是在给 AI 编程助手指路——告诉它什么情况下不能乱来。这种约束在纯 Git 环境下很难做到,因为 Git 太灵活了,AI 很难判断”这个操作会不会破坏 review 历史”。

如果你现在用 Claude Code 或 Codex 做开发,又想尝试一下 Jujutsu 这套更”可撤销”的思维方式,jj-workflow 是个不错的起点。

GitHub 仓库 →


GitHub: https://github.com/GoogleCloudPlatform/khi

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 10 阅读