代码别让AI搞砸:Jujutsu,你的救命稻草
AI 开发出岔子:程序员的噩梦
用 AI 写代码时,你肯定遇过这种事。跟 Claude 或 Gemini 这些工具聊得正起劲,突然它搞错了指令,直接跑了个 git clean,把一堆没提交的实验文件全删了。或者上下文丢了,终端清空,AI 半路忘事儿。你让它救回来,它只能说:“对不起,那些文件没 commit,我救不了。”
现在开发者都爱用 AI 助手,这种倒霉事儿越来越常见。老式的 Git 流程,根本不适合 AI 那种乱七八糟的快速迭代。
Git 的痛点在哪儿
Git 牛是牛,但它得你手动 commit 才行。每次都要想好“现在保存一下”。AI 一通狂改,问题就来了。你中途自信满满,忘了 commit。或者 AI 改来改去,遇到 bug 自己 revert,你啥都没保住。
最惨的是,AI 毁了仓库,你却因为没 commit,啥都捞不回来。
Jujutsu:AI 时代的救命稻草
Jujutsu,简称 jj,是个全新思路的版本控制工具。它不等你 commit,每次命令一跑,就自动 snapshot 你的工作目录。每改动一下,每实验一次,哪怕误删,都全记在操作日志里。
想象成 Git 加了个“记性超好”的脑子。Git 只管你手动的 commit,jj 啥都记——不管你想不想。
入门超简单,一键搞定
牛逼的地方是,它跟 Git 完美共存,不用二选一。
现有 Git 仓库直接来:
jj git init --colocate
就这。jj 就跟你原来的 Git 并肩工作。队友压根看不出你在用它——对他们完全透明。推远程还是用 Git,老样子。
jj 的思维模式,一看就懂
jj 术语跟 Git 有点不一样,但核心超直观:
@(工作集):像 Git 的工作目录,但自动 snapshot- 提交 ID:用
[g-z]这些字符,不像 Git 的 hex 那么难记 - 操作日志:仓库每步变化的全记录
实际跑起来长这样:
$ jj
@ lrklqzxy panozzaj@gmail.com 2025-11-22 16:06:25 b76e8471
│ (no description set)
○ qppwxvzp panozzaj@gmail.com 2025-11-06 10:57:53 master
Add site perf audit document
@ 就是你当前的未提交活儿。每条变化都有独一无二的 ID,比 Git 的哈希好认多了。
真绝活:轻松救回丢失的工作
jj 牛逼就牛在这里。AI 搞砸了?看操作历史:
jj obslog --revision @ --patch --limit 5
显示最近 5 次操作,全带 diff。你一看就知道啥时候出的岔子,直接 checkout 救回来。就算 AI 删文件、revert 改动、搞乱目录,全都有迹可循。
为什么 AI 开发非它不可
AI 助手跟人开发不一样。它:
- 改代码飞快,不等人监督
- 偶尔理解错指令,乱动东西
- 聊天一长,上下文丢了
- 可能不小心用破坏性命令
Git 假设人是 commit 主宰,AI 一来全乱套。jj 把每个文件变化都当宝贝,能随时救回,安全感拉满。
实际工作流,怎么融进去
jj 零打扰,接进 AI 流程超易:
- AI 会话前:知道 jj 在后台全抓
- 会话中:让 AI 随便折腾,jj 全记
- 出事时:
jj obslog找问题前一刻 - 收尾后:正常 Git commit 推上去
jj 就藏在 Git 下面。你还是推 GitHub、GitLab,没区别。但下面有个铁安全网。
零负担上车
jj 最大优点,几乎没额外成本:
- 装机简单
- Git 流程不变
- 队友无感知
- 跟 Git 同存,不重复空间
- 彩色 ID,一眼区分
用 AI 的项目,试试它,没啥坏处。
展望未来
AI 助手越来越深融开发,jj 这种工具会成标配。不是会不会被 AI 坑,是坑了有没有救。
天天用 Claude Code、Gemini CLI 的,赶紧上 jj。就是你的保险。下次 AI 翻车,一条命令救小时工作,而不是眼睁睁看它进 Git 黑洞。
未来自己会谢你。