Codex Git Worktree完整指南:并行开发、分支隔离与安全交接
你正在修复一个问题,Codex 同时开发另一个功能。如果双方在同一目录编辑、切换分支或重装依赖,冲突可能在提交之前就已经发生。Git Worktree 为每项工作提供独立检出目录,适合把并行任务放到不同空间中完成。
工作树隔离了什么
多个工作树共享同一个仓库的提交与分支信息,但分别保存工作目录和索引。这样可以同时检查不同分支的文件,减少频繁切换分支对未完成工作的干扰。
工作树并不隔离整台电脑。端口、数据库、全局依赖和外部服务仍可能共用。例如两个开发服务器都占用 3000 端口,或者测试都写入同一个数据库,仍然会互相影响。任务设计时应一起安排这些资源。
在 Codex 中创建工作树任务
- 选择一个真正的 Git 项目,确认起始分支及本地是否有未提交修改。
- 新建任务时选择工作树环境,再选择起点。
- 描述明确的改动范围,例如只处理请求校验,不修改数据库结构。
- 准备运行依赖与本地配置,检查任务实际工作目录。
- 完成后审查差异、运行相关验证,再决定留在工作树或移交到本地。
Codex 默认创建的工作树可能处于分离 HEAD 状态。需要长期保存或推送成果时,使用创建分支入口,把工作关联到一个明确分支。移交会处理任务和代码在本地与工作树之间的移动,但它并不等于代码已经合并。
用 Git 命令理解底层操作
下面示例假定仓库存在 main 分支,且示例目录和新分支尚未使用。实际操作前替换成你项目的名称。
git status --short
git worktree list
git worktree add -b feature/input-check ../repo-input-check main
git -C ../repo-input-check status --short第三行创建新分支及独立目录,第四行核对新目录的状态。Git 通常不允许同一个分支同时被多个工作树检出;遇到提示时,先查看它已被哪个目录占用,不要立即强制跳过保护。
让并行任务真正独立
- 按功能边界分工,避免两个任务同时重写公共入口或同一配置文件。
- 每个工作树使用自己的开发端口,必要时使用独立测试数据。
- 从项目锁文件安装依赖,避免任务各自升级到不同版本。
- 对共享接口先约定输入、输出和错误结构,再分别实现。
交接前必须弄清楚的三件事
一、代码是否完整保存
查看未暂存、已暂存和未跟踪文件,确认真正需要交付的文件都被包括。只看一个提交的摘要,容易漏掉仍留在目录里的新增文件。
二、环境能否重建
被 Git 忽略的文件通常不会随着 Git 操作自动移动。依赖目录可通过安装步骤重建;本地配置应按项目规则补齐。Codex 的工作树环境设置和按需文件复制机制可以帮助准备环境,但不要把密钥当作普通示例提交。
三、合并是否经过验证
在任务分支上通过测试后,还要关注与目标分支组合后的行为。两个分支各自通过测试,不代表合在一起没有接口冲突。一次审查一项任务,出现冲突时根据业务意图解决,而不是机械保留某一侧。
完成后的清理顺序
先确认成果已提交或合并,停止工作树中的服务,再移除不再需要的工作树。使用 git worktree remove ../repo-input-check 进行正常清理;若 Git 提示有未保存内容,应先检查。任务尚未交付时,不要用强制删除来整理目录。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













