跳到正文
教程31 篇

Codex CLI第 4 / 4 篇

Codex:用 Worktree 隔开两项任务

各用一份检出目录,明确起点、环境与合并,避免任务互相覆盖。

进阶约 20 分钟练习资料核实

学习目标

一个独立任务目录和可以审查的代码差异。

适用场景

你正在修改页面,另一个任务要修接口。共用同一个工作目录会相互改动文件。本篇用 Git worktree 演示可检查的隔离;Codex 桌面端也有 Worktree 入口,文案与支持以当前版本为准。

准备条件

  • 项目是 Git 仓库,有可识别的已提交起点。
  • 两个任务使用不同测试端口和数据资源;不自动共享生产配置。

操作步骤

  1. 先选择可信的起点

    检查当前分支、提交与未提交改动。下面从当前 HEAD 新建任务分支,不会自动复制未提交内容;需要的改动先用项目允许的方式保存或提交。Codex 桌面端创建 Worktree 时也要检查所选起始分支,不默认等于当前工作区。

    查看状态,再创建示例任务目录
    git status --short
    git log -1 --oneline
    git worktree add -b task-ui-demo ../project-ui-demo HEAD
    git worktree list
  2. 在隔离目录准备本地环境

    进入新目录再让 Codex 接收任务。依赖、被忽略文件和运行端口按项目流程准备;不要直接复制整份含生产密钥的 .env。worktree 隔开的是文件检出,不是数据库、网络、账号或机器资源。需要沙箱和权限约束时另按宿主设置。

    交给 Codex 的任务边界
    工作目录:新建的 project-ui-demo,先核对实际路径与 HEAD。
    任务:只修改资料列表的标题排版。
    保留:接口、数据、其他任务的代码。
    检查:使用本项目已有命令,独立测试端口和测试库。
    交付:列出差异、验证结果和未验证项;不自动发布。
  3. 回到差异做集成,而不是复制整个目录

    在任务 worktree 检查 diff 与测试,形成项目允许的提交。集成时核对目标分支有没有被别的任务推进,再按项目流程合入和重验。共享 Git 元数据意味着分支操作仍会互相可见;同一分支通常不能在两处同时检出。

  4. 只在保留工作后回收

    确认提交已合入或有可恢复快照,停止该任务自己的服务,再删除干净的 worktree。下面是 Git 管理的目录;Codex 管理的 worktree 优先用应用提供的归档方式。不要使用 force 掩盖未保存的工作。

    先确认任务成果,再回收 Git 管理的目录
    git -C ../project-ui-demo status --short
    git worktree list
    # 仅在确认干净且成果已保存后执行:
    git worktree remove ../project-ui-demo

常见误区

认为 Worktree 会自动包含当前所有改动和密钥。
核对起点;未提交和忽略文件需要按项目流程单独处理。
两个独立目录共用同一个测试库,互相删数据。
文件隔离不等于运行环境隔离,为测试数据和端口分配独立资源。

验收清单

  • 两个任务目录和分支可识别。
  • 任务没有依赖未经处理的本地修改。
  • 测试端口、数据与权限边界明确。
  • 成果审查并保存后才回收,未强删工作。

资料与版本

本文为原创整理,示例需按项目调整;工具界面与功能以当前版本为准。