Worktree(工作树)
Worktree 允许 Codex 在同一项目中并行运行多个独立任务,互不干扰。
"Worktree 让 Codex 在同一项目中运行多个独立任务而不互相冲突。"
核心概念
| 概念 | 说明 |
|---|---|
| 本地 checkout | 你的原始仓库 |
| Worktree | 从本地 checkout 创建的 Git Worktree,共享元数据但拥有独立文件副本 |
使用场景
- 与 Codex 并行工作:Codex 在 Worktree 中工作,你同时在主 checkout 进行其他修改,互不冲突
- 任务队列:将未关联的线程作为待执行任务的暂存区
- 任务独立性:保证并发任务之间完全隔离
创建 Worktree 线程
- 在新建线程视图中选择 Worktree
- 选择起始分支(main、feature 分支或包含本地改动的当前分支)
- 提交提示词,Codex 自动创建一个 Detached HEAD 状态的 Worktree
- 使用以下任一方式验证和整合改动
两种工作流程
方式一:完全在 Worktree 上工作
- 点击 "Create branch here" 按钮
- 在 Worktree 上直接提交、推送和创建 Pull Request
- 点击 "Open" 按钮在 IDE 中打开该 Worktree
方式二:同步到本地 checkout
- 点击线程头部的 "Sync with local"
- 选择同步方式:
- Overwrite:用 Worktree 内容覆盖本地
- Apply:将改动应用到本地(保留提交历史)
Worktree 清理规则
受保护,不会被自动删除:
- 有固定(Pinned)对话附加的 Worktree
- 已添加到侧边栏的 Worktree
可被清理的条件(同时满足):
- 已超过 4 天
- 当前存在超过 10 个 Worktree
分支限制
Git 不允许同一分支同时在多个 Worktree 中 checkout(因为序列化要求和冲突防护)。如果需要对同一分支并行工作,请先创建新分支。