给每个 AI 任务一张独立工作台:看懂 Codex 工作树
发布日期:2026-11-12|分类:AI与智能服务|资料核验截至2026-11-12
Codex工作树是OpenAI基于Git worktree提供的独立工作目录,供同一项目的多个任务并行使用。它们共享仓库历史与分支信息,各有独立的文件。截至2026年11月12日,官方文档已覆盖Worktree创建、默认detached HEAD、分支保留、Handoff交接及清理恢复。本地托管工作树还可通过环境设置脚本和.worktreeinclude准备依赖与被忽略的配置。上手时先选对起点,再确认目录、运行测试和处理成果,文件隔离之后仍需要审查与合并。

你正在开发一个功能,临时又来了一个Bug。让两个任务挤在同一个目录里,可能会同时改文件、重装依赖,或者互相影响还没提交的内容。
Codex工作树适合处理这种情况:功能开发继续留在原来的目录,Bug修复放进另一个工作目录。你可以同时推进,再分别检查结果。
工作树与分支,分别管理什么
工作树提供独立的文件目录,分支记录一条可继续推进的提交线,两者可以配合使用。
只在同一个目录里切换分支,工作区还是那一个,需要不断切换当前代码状态。使用Git工作树后,同一仓库可以同时拥有多个检出目录,每个目录放着自己的文件。
据OpenAI截至2026年11月的工作树文档,这项功能要求项目属于Git仓库。普通文件夹不能仅凭选择“Worktree”就获得Git工作树;先确认项目已纳入版本控制。
多个工作树共享提交与分支等仓库信息,但各自的代码修改需要分别审查、测试和提交。文件目录分开之后,改到同一业务逻辑的任务在合并时仍可能产生冲突。
还有一个边界值得先记住:工作树提供的是代码目录隔离。数据库、外部服务以及开发服务器端口,需要按项目的运行方式另外安排。

在桌面端Codex里创建一个工作树任务
创建工作树时,起始分支和是否携带本地改动,会决定新任务从哪份代码开始。
按当前官方文档,先在ChatGPT桌面应用中选择Codex,在新聊天输入框下选择Worktree,再选起始Git分支。
新工作树从所选分支的HEAD提交开始;如果选择携带本地改动,Codex再把未提交改动应用到新目录。主分支、功能分支或当前工作状态,应按任务需要明确选择。
如果项目已经配置本地环境,可以一并选择,让新工作树运行环境设置脚本。提交任务后,Codex会创建对应目录并开始工作。
第一条任务可以写得具体一点:
在这个工作树里定位登录测试失败的原因。先列出证据和计划,只修改相关文件;完成后运行对应测试,说明修改了什么、还有哪些问题未验证。
开始审查时,可以在该工作树的集成终端检查:
pwd
git status --short --branch
git worktree list先确认自己身处哪个目录、当前Git状态是什么,再启动开发服务或运行测试。上述命令用于查看状态,不会创建、切换或删除工作树。
默认detached HEAD,怎样保留工作成果
Codex新建的托管工作树默认处于detached HEAD,也就是当前检出指向某个提交,而非命名分支。
这让Codex可以建立多个工作目录,起步时不必为每个任务立即创建分支。看到detached HEAD并不代表代码已经丢失,但准备继续维护或提交成果时,需要明确下一步。
如果打算一直在这个工作树验证和开发,可以使用聊天顶部的Create branch here创建分支,例如codex/login-fix,再审查差异、提交改动、推送并创建PR。
也可以通过顶部“Open”入口,在这个工作目录打开常用编辑器,继续运行测试。分支名、改动范围和验证结果都确认后,再把它交给后续评审流程。
需要注意,Git正常情况下不允许同一个分支同时被多个工作树检出。多个工作树可以从相同提交开始,但不应把同一个分支同时留在不同目录里编辑。
交接回Local,用Hand off完成
Handoff用于将聊天及其代码在Local与工作树之间交接,方便回到日常开发环境继续处理。
如果你只能运行一套应用实例,或者想在原来的编辑器窗口检查改动,可以在聊天顶部选择Hand off,将任务交接到Local。官方流程会处理交接需要的Git操作。
反过来,已经在Local里进行的任务,也可以交接到工作树,在后台继续推进。按当前文档,同一个聊天保留关联工作树,之后交接回去时会回到那个环境。
遇到“branch is already used by worktree”一类提示,应先用git worktree list查看分支占用。如果目的是回到Local继续同一个任务,优先使用Handoff流程,避免在两个目录里强行检出同一分支。
交接后仍应检查当前目录、Git差异和测试结果。聊天移动到了另一个工作位置,运行依赖与本地配置是否齐全,也要在目标环境里确认。

环境缺文件,先检查依赖与.worktreeinclude
工作树拥有代码文件后,还需要准备该项目实际运行所需的依赖和本地配置。
OpenAI本地环境文档说明,环境设置脚本会在创建新工作树聊天时自动执行,配置保存在项目根目录的.codex下,可以纳入Git。可以把项目既有的依赖安装和初始化步骤写入脚本,减少每次重复准备。
本地配置还有另一种情况:.env.local被Git忽略,因此普通检出不会自动带上它。当前文档支持在仓库根目录添加.worktreeinclude,列出需要复制的被忽略路径,例如:
# .worktreeinclude
.env.local这项复制规则针对本地Codex托管工作树,不适用于远程工作树或你通过命令行自行创建的Git工作树;也不会把其他未跟踪文件一并复制。它跳过源符号链接,不覆盖目标目录已存在的文件。
先确定新工作树真正需要哪些本地配置,再列入规则。依赖安装、文件复制和服务启动分别处理,比把“代码在了”当作“环境好了”更容易定位问题。
本文只在独立临时Git仓库验证Git机制与查看命令;Codex界面、Handoff和自动复制规则依据官方文档核对,未在用户项目中实际创建或移动任务。
工作树会占磁盘,清理与恢复也有规则
Codex托管工作树有自己的文件、依赖和构建缓存,任务多起来后需要关注磁盘占用。
截至2026年11月核验的官方文档,默认保留最近15个Codex托管工作树,可以在设置中调整上限或关闭自动删除。关联置顶聊天、仍在进行中的聊天,其工作树不会被自动清理。
归档关联聊天,或达到配置上限需要清理旧目录时,托管工作树可能被删除。官方说明,删除前会保存工作快照,重新打开聊天时提供恢复入口;聊天历史可以保留,底层目录则可能已经清理。
这些是Codex托管工作树的管理规则,不能直接套到手动创建的Git工作树上。准备收尾时,先记录当前分支、检查提交和验证结果,再决定是否归档。
从OpenAI工作树与本地环境文档看,使用顺序可以落在几件具体的事上:选起点、隔离文件、准备环境、验证改动,再创建分支或交接回Local。本文资料截至2026年11月12日。
参考资料
OpenAI工作树官方文档:https://learn.chatgpt.com/docs/environments/git-worktrees
OpenAI本地环境官方文档:https://learn.chatgpt.com/docs/environments/local-environment
相关文章
七牛云产品
七牛云 AI 大模型企业订阅:https://www.qiniu.com/ai/tokenplan
七牛云 Token Plan(多模型 API 统一接入):https://www.qiniu.com/ai/plan
七牛云10亿 Token 免费送:https://www.qiniu.com/ai/model/qiniu/conatus-free