Git Worktree 是 Codex 高效协作中的“隐形利器”。它允许同一个 Git 仓库同时拥有多个独立的工作目录,结合 Codex 使用可以实现任务的物理隔离与并行开发。
1. 为什么在 Codex 中使用 Worktrees?
- 物理隔离:每个任务在独立的物理目录中运行,Git 状态完全互不干扰。您可以在一个目录修 Bug,同时在另一个目录让 Codex 编写文档。
- 防止改动污染:避免本地未完成的草稿代码被 Codex 的自动改动覆盖,或多个任务之间的 Diff 混在一起。
- 低风险实验:对于高风险的重构任务,可以在 Worktree 中进行,实验失败直接删除目录即可,主工作区不受任何影响。
2. 核心工作流
第一步:创建 Worktree
在主项目根目录下,使用 Git 命令创建一个新的工作目录。
操作示例:
``bash
git worktree add ../feature-auth-refactor -b feat/auth-refactor
`
第二步:环境初始化
由于 Worktree 是一个全新的目录,Codex 在开始工作前需要识别环境。
Prompt 建议:
> “我现在已进入新的 Git Worktree 环境(目录:../feature-auth-refactor)。请先不要修改文件,请只读分析当前环境并告诉我:
> 1. 该目录是否已正确关联 Git 分支 feat/auth-refactor。
> 2. 为了让项目能运行,我是否需要执行 npm install 或其他初始化命令?
> 3. 请根据 AGENTS.md 确认在该 Worktree 中执行任务的规范。”
第三步:并行执行任务
您可以在主工作区使用 IDE 插件进行局部修改,同时在 Worktree 目录启动 Codex CLI 执行大规模重构任务。
第四步:成果带回 (Handoff)
任务完成后,您可以将 Worktree 中的改动提交并合并回主分支,或者利用 Codex 的 Handoff 功能将代码逻辑同步回主工作区。
3. 实践准则与风险控制
- 资源冲突评估:在开启并行任务前,确认不同任务是否会修改同一公共组件或锁文件(如 package-lock.json
)。如果冲突概率极高,建议串行处理。 - 避免 Detached HEAD:在创建 Worktree 时,务必指定一个明确的本地分支,避免处于“游离头指针”状态导致改动难以追踪。
- 任务清理:任务完成后,使用 git worktree remove` 及时清理不再使用的目录,保持开发环境整洁。
---
下一篇推荐:团队协作流与多入口配合 —— 学习如何在多人项目中构建有规则、有边界的 AI 协作环境。