codex必须基于指定git分支启动以确保环境可控。需先清理工作区、创建时间戳临时分支,再通过cli参数或桌面app设置分支;也可用worktree实现完全隔离。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Codex在执行任务前明确基于某个Git分支启动工作,否则它可能读取当前检出分支的混乱状态,或误用未提交修改导致结果不可复现。
确认当前分支并创建干净起点
打开终端,进入项目根目录,运行 git status 查看当前分支名和暂存区状态。
如果当前分支存在未提交修改,先决定是否保留:若这些修改与本次任务无关,【必须执行 git stash 或 git checkout -- . 清理工作区】;若相关,则记录下分支名(如 feature/auth-refresh)作为后续基础。
执行 git checkout -b codex-task-$(date +%s) <base-branch></base-branch> 新建一个时间戳命名的临时分支,例如:git checkout -b codex-task-1728933660 main。这一步确保 Codex 启动时上下文完全受控。
在Codex中绑定指定分支
方法一:通过 CLI 指定分支启动
在已切换到目标分支(如 codex-task-1728933660)的终端中,运行:codex --branch main。注意:--branch 参数仅影响 Codex 读取文件时的 Git 上下文快照,不改变当前本地分支。
方法二:在桌面 App 中手动对齐
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
启动 Codex App → 左侧边栏点击「项目」→ 选择对应文件夹 → 点击右上角齿轮图标 → 在「Git 设置」中手动输入分支名称(如 develop),然后点击「应用」。Codex 会据此读取该分支最新提交的文件树,忽略本地未提交内容。
【关键前提:该分支必须已在本地存在且可被 git rev-parse 识别】。若输入不存在的分支名,Codex 将回退到当前工作区文件,失去版本一致性保障。
用 Worktree 隔离分支上下文
第一步:在终端中执行 git worktree add ../my-project-codex main,在上级目录新建一个绑定 main 分支的独立工作树。
第二步:在 Codex CLI 中切换到该新路径:cd ../my-project-codex && codex。此时 Codex 所有文件操作均严格限定在 main 分支快照内,与主工作区完全隔离。
第三步:任务完成后,可直接删除该 worktree 文件夹,不影响原仓库任何状态。
此方式适合需要长期、多次基于同一分支开展不同 Codex 任务的场景,避免反复 checkout 切换带来的误操作风险。










