两个Claude Code任务同时改仓库,先分开工作目录
Claude Code的worktree模式让不同会话使用各自的Git检出目录与分支,减少两个任务同时改同一份文件的冲突。它适合并行开发独立改动,但不会替你解决合并冲突,也不隔离所有数据库、端口和外部服务。
开始前在仓库里检查git status --short --branch,确认当前分支和未提交内容。仓库必须已有提交;只有一个新建文件夹而没有Git历史,不能直接当作可用worktree起点。
建立一个范围小的隔离任务
在已信任的仓库终端运行claude --worktree docs-check,作为虚构的文档修订任务;另一个任务使用不同名称。命令中的名字是示例,不是本文已经在你仓库中创建的分支。
进入后先用终端pwd或Windows PowerShell的Get-Location确认实际路径,再运行git status --short --branch核对分支。不要仅凭窗口标题判断自己已经离开主目录。默认目录位于仓库的.claude/worktrees下,具体路径仍以实际输出为准。
给任务的要求可以是:“只整理安装说明,先报告当前位置与分支,不修改程序文件;提交前列出差异和未验证项。”一个小任务更容易发现隔离是否按预期运行,而不是一上来就迁移全站。

不要假设主目录未提交的改动已经带过来
新worktree是从提交创建的检出。当前官方默认优先从仓库远程默认分支开始,无远端等情况下可能回落到本地HEAD;可通过worktree.baseRef选择head等行为,最终都应核对实际分支和提交。不能看到自己主目录的文件已改,就假定新目录也有相同状态。
先核对两边的提交和目标文件内容,再决定任务需要哪一版。主目录的未提交文件、尚未追踪文件和忽略文件不会因为多开窗口自动成为新检出的输入。若任务确实依赖这些材料,应明确安排安全的复制或版本化方式,不能用“分支一样”替代文件比对。
环境配置同样要单独准备。官方提供.worktreeinclude处理需要复制的忽略文件;只选实际必需项,不把整个私有目录无差别带入每个任务,也不要因此把密钥提交到Git。
文件隔离不等于运行环境隔离
两个worktree若使用同一个开发数据库或同一个服务端口,仍可能相互影响。为虚构练习建立独立测试数据,给各自服务选择明确的端口,并记录哪些资源仍共享。
安装依赖、生成缓存和运行迁移前,先核对命令的工作目录与连接目标。不让“我在worktree里”变成允许操作生产数据的理由。Git历史和远程也由同一仓库共享,推送前仍要检查实际分支与差异。
完成后先留存成果,再处理清理提示
任务结束时查看git diff与git status,确认新增文件和测试记录也在预期范围。将成果按团队流程提交、评审或整合,之后再决定是否保留worktree。
Claude Code退出时会根据目录是否有工作等条件处理保留或移除。看到移除选项时,不要只理解为关闭窗口;未妥善留存的改动可能被一起删除。这里不提供强制删除命令,也不把退出提示当作成果已经合并的证明。
本文依据官方worktree机制说明操作顺序,没有真实启动Claude Code并行会话或执行你的仓库任务。路径、起点、权限与共享资源须按实际版本检查;文末记录表用于验收,不是自动合并脚本。
参考资料与核验范围
资料核对日期:2026年10月18日。以下为官方原始资料;产品入口和可用范围仍以当前账户为准。
1. [官方资料1](https://code.claude.com/docs/en/worktrees)
2. [官方资料2](https://code.claude.com/docs/en/common-workflows)