
AI Parabellum 11 月 13 日实测(Claude Code v2.1.322,macOS):worktree 的日常用法不是记一个命令,而是固定一套流程——一个任务一个文件夹、一个分支,两个会话并行也不抢文件。核心命令是 claude -w 任务名,它会在 .claude/worktrees/任务名 建文件夹、开一个叫 worktree-任务名 的分支,会话就在里面干活。
每个仓库先做一次准备:.gitignore 里加上 .claude/worktrees/,再写一个 .worktreeinclude 文件列上 .env,这样每个新 worktree 会自动带上本地密钥文件(只复制被 gitignore 的文件);第一次先跑一遍 claude 接受信任提示,再用 --worktree。作者早上两个任务各开一个 worktree(给待办脚本加搜索命令、修 README 错字),中途会话停在审批提示上也没关系,改动已经存在自己的分支上;同名再跑一次就回到同一个 worktree,加上 --resume 还能接回原来的对话。收尾用 git worktree list 看齐、逐个 git merge,再 git worktree remove 加 git branch -d 清理——注意退出时选了“删除”,文件夹、分支和提交就一起没了,合完再删。
两个坑值得记下来:上一个会话非正常退出会留锁,git 拒绝删除时先 git worktree unlock 再删;子代理也能用 isolation: worktree 做隔离、审 PR 可用 claude -w "#1234",但这两处作者按官方文档写、自己没跑通。还有一个提醒:隔离检查拦不住 cp 或 shell 重定向偷写回主目录,权限和沙箱还是要配好。适合每天同时推进两三个任务、又怕会话互相踩文件的 Claude Code 用户。站内相关:Worktrunk:同时开 5 个 Claude Code 也不打架、Claude Code 第一次会话照着走。
来源:AI Parabellum,原文


没有回复内容