Worktree 与 Codex 并行任务
教程版本基线Codex CLI v0.147.0Worktree 让同一个 Git 仓库拥有多个独立工作目录。不同 Codex 会话可以并行工作,而不会直接覆盖本地未完成修改。
创建一个 Worktree 会话完成独立小任务,检查结果后安全带回 Local,并清理临时工作区。
- 使用 ChatGPT 桌面端中的 Codex。
- 项目已经是 Git 仓库。
- 已记录本地未提交改动和起始分支。
- 两个并行任务尽量不修改同一组文件。
第 1 步:拆分任务
Section titled “第 1 步:拆分任务”适合并行:一个会话补文档,另一个只读审查;两个功能位于不同模块。不要把同一个重构拆给多个会话同时修改公共文件。
请只读分析【任务 A】与【任务 B】的文件影响范围,判断是否适合在两个 Worktree 并行。如果会修改同一文件、接口或锁文件,请明确建议串行。第 2 步:创建 Worktree 会话
Section titled “第 2 步:创建 Worktree 会话”在新会话编辑框选择 Worktree,再选择起始分支。Codex 会创建 Git Worktree,默认可能处于 detached HEAD。需要长期保留时应创建明确分支,不要让重要提交只停留在难找的 detached HEAD 上。
第 3 步:初始化环境
Section titled “第 3 步:初始化环境”Worktree 有独立文件目录,未必有依赖目录、生成文件或本地配置。使用 Local environment setup script 时,脚本应可重复、无交互且不复制秘密到仓库。
第 4 步:执行与验收
Section titled “第 4 步:执行与验收”只完成【明确任务】。不要修改范围外文件,不要提交或推送。完成后运行相关检查,展示完整 diff,并说明当前分支或 detached HEAD 状态。在 Worktree 内完成测试,不要只把代码带回 Local 后才发现依赖或生成结果不一致。
第 5 步:Handoff 或合并
Section titled “第 5 步:Handoff 或合并”桌面端可以使用 Handoff 在 Local 与 Worktree 之间移动会话和代码。带回前确认 Local 当前改动、Worktree diff、基线提交和可能冲突。冲突必须逐个理解,不要用整文件覆盖。
第 6 步:清理
Section titled “第 6 步:清理”确认提交或有其他可恢复记录后,再删除不再需要的 Worktree。清理前检查未提交改动、未推送分支和生成产物;不能恢复的内容不得直接删除。
- Worktree 选项不可用:确认在桌面端 Codex,且项目属于 Git 仓库。
- 依赖缺失:为 Worktree 配置可重复的环境初始化。
- 两个任务冲突:暂停其中一个,重新规划文件边界。
- detached HEAD 上有提交:先创建分支指向该提交再清理。
- Handoff 后行为不同:比较环境变量、依赖、未跟踪文件和本地服务。
- 并行任务的文件边界已评估。
- Worktree 起始分支和 HEAD 状态明确。
- 每个任务在自己的工作区完成检查和 diff 审查。
- Handoff 或合并没有覆盖 Local 原有改动。
- 清理前已有可恢复的提交或分支记录。
官方参考:https://developers.openai.com/codex/app/worktrees
下一篇看:Codex 定时任务与自动化入门。