Codex 实操:用 Git worktree 隔离任务、检查分支和回收目录

最容易混乱的场景,是你还在改首页,又让 Codex 顺手写帮助文档。最后一个 diff 里既有旧工作,也有新任务,检查和上线都不好分。我的做法是先记录起点,再给新任务一个独立目录和分支。

这篇以手动创建 Git worktree 为例。练习在 macOS、Git 2.50.1 的临时仓库完成:原目录保留一段未提交文字,新目录只接收已提交基线;新任务提交之后,再检查它的分支范围。没有运行模型任务,也没有把这个 Git 实验当作 Codex 桌面端 Handoff 实测。

1. 先看现场,别急着清空

在原仓库执行:

bash 复制代码
git status --short
git branch --show-current
git worktree list

先回答两个问题:哪些文件是之前就在改的?新任务需不需要那些变化?

如果不依赖未提交的首页改动,就可以从当前 HEAD 提交另开目录。它是当前分支已经提交的起点,并不自动代表最新线上版本。如果任务要求从最新主线开始,应先获取并确认团队实际使用的远程主分支。

2. 一项任务,一个目录和分支

bash 复制代码
git worktree add -b codex/docs-task ../project-codex HEAD
cd ../project-codex
git status --short
codex

目录名和分支名只是示例,目标不能已经存在。手动执行这条 Git 命令时,原目录未提交的改动不会被自动带过去。进入新目录后,再把具体任务交给 Codex。

我会在任务里补上范围,例如:"只补帮助文档和必要入口,不改首页样式;按项目的 AGENTS.md 运行相关检查;交接时给出文件列表和实际结果。"

3. 文件分开了,运行环境仍要检查

新目录里可能没有 node_modules、本地配置和其他被 Git 忽略的文件。先读项目说明,再准备运行环境。两个开发服务器也需要不同端口。

worktree 不能替你隔离数据库、账号或远程服务。两个目录若连接同一个测试数据库,写入仍可能互相影响。这个问题要在任务开始前说清楚。

Codex 桌面端也有 Worktree 路线,但它与手动 Git 命令的行为不能混写。桌面端的托管 worktree 可选择带本地变化的起点,并有 Handoff 和本地环境设置;具体界面以当前官方说明为准。

4. 验收时比较分支,不能只看工作区干净

假设任务基线确实是本地 main:

bash 复制代码
git status --short
git diff --check
git diff --cached --check
git log --oneline main..HEAD
git diff --stat main...HEAD
git diff main...HEAD

这里分别看未提交变化、格式问题和分支提交范围。若实际起点不是 main,就换成记录下来的基线。新文件还要通过 status 检查;"没有未提交变化"并不能说明分支只有本次任务。

然后运行项目规定的检查,走一遍相关用户路径,再提交独立 PR。合并不等于已经部署,部署后还要从正式地址确认。

5. 回收前先确认保存位置

停止这个目录启动的服务,确认改动已提交并有可靠保存位置,再检查未跟踪文件和仍要保留的本地配置。从原仓库执行普通的 git worktree remove ../project-codex;如果 Git 拒绝,先看原因。分支是否删除要另行判断。

我把创建、环境准备、合并前检查和回收步骤整理在 Codex Git worktree 实操清单,方便按步骤核对。

资料: OpenAI Worktrees、Git git-worktree。本文练习和检查顺序为独立整理。

相关推荐
KING-WU5122 小时前
Git 版本控制器实战指南
大数据·git·elasticsearch
Zhichao_973 小时前
VSCode+AI操作Git、GitHub
git·github
EchoMind-Henry3 小时前
Anthropic自建Git替代品,先看替换了什么
git
墨云安全5 小时前
自动化渗透测试工具有哪些?2026 年引擎原理、任务编排与误报抑制实践
git·测试工具·网络安全·渗透测试·自动化
-恰饭第一名-6 小时前
Codex 任务上下文整理:事实清单、只读检查与开场模板
git
打盹的小pig15 小时前
git pull 报错
git
Tairitsu_H1 天前
[版本控制器Git] Git 远程仓库 | 多人协作 | 企业级 Git Flow 开发模型
git·版本控制器·远程仓库
我先去打把游戏先1 天前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu
kaixin_learn_qt_ing1 天前
我有两个程序,它们在不同的项目中,但是它们复用了一部分头文件,它们在两个不同的git仓库中,有什么好的办法可以让它们复用吗?
git