Codex App

Codex App Worktree:隔离改动并行做任务

理解 Codex App 中 Worktree 的用途,学习什么时候选择 Worktree、如何创建分支,以及如何把任务交还到本地工作区。

Codex AppWorktreeGit并行任务

Codex App 在 Worktree 中创建分支的界面

适用场景

这篇手册适合已经会在 Codex App 中创建普通任务,但还不确定什么时候该选择 Worktree 的用户。

OpenAI 官方文档说明,Worktree 可以让 Codex 在同一个项目中运行多个互不干扰的任务。它适合需要隔离改动、并行试方案、或者希望后台任务不要影响当前本地工作区的场景。

步骤 1:确认项目是 Git 仓库

Worktree 依赖 Git worktree。开始前,先确认项目目录里有 Git 仓库。

你可以在终端运行:

git status

如果命令提示不是 Git 仓库,就不能按 Worktree 流程工作。这个时候可以先初始化仓库,或者继续使用 Local 模式。

步骤 2:新建任务时选择 Worktree

在 Codex App 的新任务输入框下方,选择 Worktree。这一步表示你希望 Codex 不直接改当前本地 checkout,而是在一个隔离环境里处理任务。

适合放到 Worktree 的任务包括:

  • 尝试一个新功能。
  • 跑一个可能改动范围较大的重构。
  • 让 Codex 并行修复多个互不相关的问题。
  • 创建一个后台任务,不打断你当前正在编辑的文件。

如果只是让 Codex 解释代码或做很小的文案修改,Local 通常更简单。

步骤 3:选择起始分支并提交任务

Worktree 需要基于一个起始分支创建。你可以选择 mainmaster、当前功能分支,或其他稳定分支。

提示词建议写清楚隔离意图:

请在 Worktree 中实现这个改动,不要影响我当前 Local 工作区。
完成后总结修改文件、验证命令和是否需要创建分支。

Codex 会在 Worktree 中创建独立 checkout,并在里面执行读取、修改、运行命令等操作。

步骤 4:需要保留成果时创建分支

截图中展示的是在 Worktree 中创建分支的界面。Codex 完成任务后,如果你决定保留这份改动,可以从 Worktree 线程中创建一个分支。

分支名建议保持清楚,例如:

codex/manual-worktree-guide

创建分支后,你可以继续提交、推送,并打开 Pull Request。

步骤 5:需要回到本地时使用 Handoff

如果你希望把 Worktree 里的任务带回 Local,可以使用 Handoff。官方文档把 Handoff 描述为在 Local 和 Worktree 之间移动线程与代码的流程,Codex 会处理底层 Git 操作。

适合 Handoff 到 Local 的情况:

  • 你要在自己常用 IDE 中仔细检查改动。
  • 项目只能在一个本地开发服务器里验证。
  • 你想接手剩余工作,而不是继续让 Codex 在后台处理。

常见错误

不要把同一个分支同时在多个 worktree 中 checkout。Git 本身不允许同一分支被多个 worktree 同时占用。

不要把 Worktree 当成不用审查的安全区。它能隔离改动,但提交前仍然要看 diff、运行测试、确认没有无关文件。

不要把长期环境都放在临时 Worktree 里。如果需要长期维护,可以创建永久 worktree 或单独项目。

小结

Worktree 是 Codex App 里非常适合并行开发的能力。简单任务用 Local,大范围尝试和后台任务用 Worktree;完成后再决定创建分支、提交 PR,或通过 Handoff 带回本地检查。

相关教程

常见问题

Worktree 和 Local 最大的区别是什么?
Local 直接在当前项目目录工作;Worktree 会创建一个独立的 Git checkout,让 Codex 可以隔离改动、并行执行任务。

所有项目都能用 Worktree 吗?
不能。Worktree 依赖 Git worktree,因此项目需要先是一个 Git 仓库。非 Git 项目通常只能直接在项目目录中运行。