用 Git worktree 给编码助手开一张独立工作台
主目录有未提交改动时,用 worktree 把新任务放到独立目录。

你正在改付款页,助手只需要修文档生成脚本。把两件事挤在一个目录里,最后最麻烦的是判断哪几处改动该一起提交。Git 的 worktree 可以让同一个仓库同时检出多个分支,各目录有独立的工作文件和暂存区。
给 AI 的上下文与边界
假设你正在本地改付款页,只授权 Codex 在新 worktree 修文档脚本。交给它主目录和新目录的绝对路径、基准提交以及只允许修改的范围。先让它报告当前目录和状态,确认没有跨到付款页目录。

先约好从哪个提交出发
在主目录跑 git status --short,记录现有改动,再用 git worktree add -b docs-fix ../docs-fix HEAD 建一个目录。新目录来自 HEAD,不包含主目录里没提交的文件。如果脚本确实依赖尚未提交的内容,先把那份依赖变成一个可以引用的提交。
把新目录路径作为任务的一部分交给助手。结束后分别检查两个目录的状态,确认自己的付款页改动仍在,另一边只包含脚本修复。
准备删除 worktree 时,先确认改动已经提交或另有备份。开发服务器也记得用不同的端口。
可以直接照着做的演练
任务单写清主目录改动文件如 src/checkout.ts,新目录只改 scripts/docs.mjs。开工前后两边各留一份 git status --short。交付只包含新分支提交和运行过的文档命令,主目录的半成品无需移动。
检查生成结果
- 主目录原有未提交文件仍在。
- 工作台中只出现脚本和相关验证改动。
- 删掉临时目录前,该目录需要保留的提交仍能在分支历史里找到。
复查时追问一层
worktree 会隔离检出的文件和暂存区,但同仓库引用仍可共享。测试端口、临时数据库、构建目录也应按任务确认。若新任务确实依赖主目录未提交内容,先把该依赖整理成可引用的提交再交接。
如果新任务要跑同一套数据库或监听同一个端口,worktree 不会隔离这些外部资源。让助手在两个目录打印各自运行的端口和配置路径,并使用独立测试库。验收时分别检查代码差异和运行输出,避免改动隔离了,测试数据却串了。

