Codex 工作树教程:让 Codex 在后台并行干活不打扰你

发布于 2026-10-31 · 4 分钟读完 · Codex / 入门教程 / 工作树

Codex 桌面版的工作树功能让 Codex 在独立的 Git 检出里干活,不影响你本地正在改的代码。本文讲清楚怎么开工作树、怎么用 Hand off 在本地和工作树之间切换,以及常见问题。

一边自己改代码,一边想让 Codex 在同一个项目里做另一件事,两边的改动很容易互相打架。Codex 桌面版的「工作树」(Worktree)功能就是为这个准备的:Codex 在另一份独立的检出里干活,你手上的改动不受影响。本文按官方文档讲清楚工作树怎么开、怎么在本地和工作树之间切换,以及常见问题。

工作树是什么

工作树基于 Git 自带的 worktree 功能,所以项目必须是 Git 仓库。它相当于把仓库再检出一份:每个工作树都有自己的一整套文件,但和原仓库共用同一个 .git(提交、分支等记录),因此可以同时在几个分支上并行工作。

官方文档里有三个说法要先分清:

  • Local(本地检出):你自己创建的那份仓库。
  • Worktree(工作树):ChatGPT 桌面版从本地检出创建出来的 Git 工作树。
  • Handoff(交接):把一个对话在 Local 和 Worktree 之间移动,所需的 Git 操作由 Codex 处理。

可以把 Local 理解为前台,Worktree 理解为后台。

Local 和 Worktree 之间通过 Hand off 互相交接
Local 和 Worktree 之间通过 Hand off 互相交接

什么时候用工作树

  • 想让 Codex 并行干活,又不想打乱自己本地正在改的代码;
  • 想排几个后台任务,自己专心做手上的事;
  • 先让 Codex 在后台做,等做完再拿到前台来检查、测试。

另外,在 Git 仓库里,定时任务会在专用的后台工作树里运行,不会和你正在做的工作冲突。

开一个工作树对话

  1. 在新对话界面,输入框下方选择 Worktree。需要的话,可以再选一个本地环境,让它为工作树跑安装脚本。
  2. 在输入框下方选择工作树基于哪个分支:可以是 main / master、功能分支,或者带着未暂存改动的当前分支。
  3. 发送提示词,Codex 会基于所选分支创建工作树。默认处于「分离 HEAD」状态,也就是不占用任何分支名。
  4. 做完后,决定是继续在工作树上干,还是交接回本地。

手机 App 也能启动、指挥、审批和审查工作树对话,但工作树本身仍然在你连接的那台电脑(或它使用的远程开发环境)上,不在手机里。

做完之后的两种走法

走法一:一直在工作树上做。 适合在工作树里就能验证改动的情况(例如已经用本地环境的安装脚本装好了依赖)。点对话顶部的 Create branch here,把工作树变成一个分支,之后就能提交、推送、在 GitHub 上开 Pull Request。顶部的 Open 按钮可以用编辑器打开这个工作树目录。

走法二:交接回本地。 想在常用的编辑器里看改动、用已有的开发服务器跑一遍时,点对话顶部的 Hand off,把对话移到 Local。反过来也行:本地正在进行的对话,也可以交接到工作树,让 Codex 在后台继续做,你腾出前台干别的。每个对话会一直对应同一个工作树,交接回去时还是原来那个。

常见问题和技巧

本地被忽略的文件怎么带过去? 交接靠 Git 操作,.gitignore 里忽略的文件不会跟过去。在仓库根目录建一个 .worktreeinclude,写上要复制的被忽略文件(支持 .gitignore 风格的写法):

.env
.env.local
config/secrets.json

Codex 新建托管工作树时只复制这里列出的被忽略文件,不会覆盖已存在的文件。被忽略的 AGENTS.override.md 会自动复制,不用写进去。这个文件只对桌面版托管的本地工作树生效。

提示分支已被占用怎么办? Git 规定同一个分支同一时间只能在一处检出。如果在工作树上建了 feature/a 分支,再到本地检出它,会看到:

fatal: 'feature/a' is already used by worktree at '<工作树路径>'

要在本地用这个分支,直接用 Hand off 把对话移到本地,不要在两边同时检出。

工作树会占很多硬盘吗? 每个工作树都有自己的文件、依赖和构建缓存。默认保留最近 15 个 Codex 托管的工作树,数量和是否自动删除都能在设置里改。已固定(pinned)的对话、还在进行的对话对应的工作树不会被自动删除;归档对话时对应的工作树会被删除。删除前 Codex 会先保存快照,之后再打开这个对话可以选择恢复。

能改工作树的存放位置吗? 默认放在 $CODEX_HOME/worktrees,在 Settings > Worktrees 里修改 Worktree root 即可。

上手建议

先在一个小仓库里试一次完整流程:选 Worktree 发一个小任务,自己同时在本地继续改别的;任务完成后用 Hand off 拿回本地检查。项目用到 .env 之类的本地配置的,第一步先把 .worktreeinclude 写好。

工作树功能在 ChatGPT 桌面版的 Codex 里使用,用 ChatGPT 账号登录后,用量跟着会员套餐走。想同时让 Codex 多跑几个后台任务的,可以在 BuyBuy代充(buybuytopup.cn) 开通 ChatGPT Pro,用量更充足。

参考资料

  1. Worktrees(OpenAI 官方文档)

需要 AI 会员?

BuyBuy代充提供 ChatGPT(含 Codex)等会员套餐,支付宝、微信付款,付款后自动发货。

查看全部套餐
AI 会员 自动发货

ChatGPT Pro 100

适合当前为免费版的账号。付款后自动发卡密,按说明自助兑换。

¥838.50 10月21日更新 · 以下单时价格为准 平台支付手续费另计
AI 会员 自动发货

ChatGPT Plus

适合当前为免费版的账号。付款后自动发卡密,按说明自助兑换。

¥149.00 10月21日更新 · 以下单时价格为准 平台支付手续费另计

更多文章

全部文章