Codex 版本管理实战:使用 Git 与 Fork 精准回滚项目
在使用 Codex 生成词根词缀网站的过程中,很多人会遇到一个共性问题:一开始生成的效果挺满意,但继续叠加新功能后,代码越改越跑偏,想回到最初的状态却无从下手。Codex 自带的"撤销"只能回退上一次操作,一旦回退,后面的改动就无法正常应用了。要真正管好项目版本,需要引入 Git 进行版本管理,并配合 Codex 提供的 Fork(分叉)功能,实现任意节点的跳转与回滚。
本文完整演示从修改样式、提交版本、测试搜索功能、生成新主题,到用 Git 回滚代码、用 Fork 切换对话、配置 AGENTS.md 自动提交的全过程。
一、目标
- 学会在 Codex 中把每次改动提交到本地 Git 仓库,形成带编号的版本节点;
- 学会使用 Codex 的 Fork 功能,从任意一次对话派生新会话;
- 掌握用
git reset把代码回滚到指定提交; - 通过 AGENTS.md 配置文件,让 Codex 在每次变更后自动执行
git commit。
二、修改样式并提交第一个版本
先对网站做两处样式调整:选中"标记学"按钮,把背景色改成与主色调一致的颜色,并加上边框颜色;再调整一下字体。这些修改在 Codex 的预览页面中即时可见,但此时真实代码还没有任何变化。
确认无误后,在对话框中点击发送并确定,Codex 开始处理。处理完成后可以看到两处修改已经生效。

如果对这次修改不满意,可以直接点击"撤销",刷新页面就回到修改前的效果;再点"重新应用"又能恢复。但撤销的局限很明显——回退之后后续改动无法正常应用,所以更推荐用 Git 管理版本。
三、测试搜索功能并修正需求
继续测试网站的搜索:输入 bi,发现没有以 bi 开头的词根也被查出来了。点进详情可以看到,右侧释义中包含了 bi,所以被匹配到。我们希望搜索只依据词根词缀本身,而不是右侧释义。
这类功能性需求变更不适合用"注释"方式修改,需要在对话框里直接描述需求,让 Codex 修改搜索逻辑;样式部分则仍可用注释方式调整。修改完成后,通过 Codex 内置浏览器打开页面(注意选择 Codex 浏览器,选 Chrome 会打开新网页),再次搜索 bi,结果只剩词根词缀匹配的条目。

四、把变更存入 Git 仓库
Codex 内置了 Git,不熟悉命令也能操作。点击左侧找到"环境信息"→"变更",分支处会显示未暂存的文件,这就是刚才的改动。点击提交或推送,填写提交信息"搜索功能",再点提交,暂存区就清空了。
想验证的话,点击切换到底部打开命令行,输入 git status,会提示位于 master 分支、没有文件要提交;输入 git log 可以看到每次提交的信息和对应的编号,按 q 退出。这个编号就是后续回滚的依据。

五、按设计图生成新主题并提交
如果对整体样式不满意,可以回到对话框,附上一张设计图截图,要求"保留原始功能,生成截图所示效果"。Codex 询问是否允许访问时点击允许,处理完成后通过 Codex 浏览器或谷歌浏览器查看,生成效果与设计图一致。

生成完成后同样提交:点击变更分支,三个文件处于未暂存状态,填写提交信息"浅绿色主题"后提交。再用终端执行 git log --oneline,可以看到三条提交记录,最新的排在最上面。

六、用 Fork 分叉切换对话节点
假设现在想回到最初的主题。直接用 Git 回滚代码是可以的,但有个隐患:之前的对话仍留在当前会话里,Codex 会默认你已使用这些改动,后续修改还会在此基础上进行,既浪费 token,也难以保证样式一致。
解决办法是使用对话中的"分叉"按钮。点击后有两个选项:
- 派生到本地项目:接着当前对话,仍使用原来的本地项目目录(workspace 目录);
- 派生到新的工作树:创建一个 worktree,项目路径变为 Codex 目录下的 worktree/版本号/项目名。
两者内容一致,区别只在文件目录。可以右键选择"在 Finder 中显示"对比路径,或在终端输入 pwd 查看当前路径。由于目录不同,修改其中一个不会影响另一个,版本控制更清晰。

注意:切换到之前的对话节点后,代码本身并不会跟着变,仍是修改后的代码,需要配合 Git 回滚。
七、用 git reset 回滚代码
在终端先执行 git log 查看所有版本,找到要回到的那次提交,复制它的编号,然后执行:
git reset <提交编号>
回车后代码即回滚到该版本。刷新页面,网站回到最初的主题。

至此,通过 Git 加 Fork 分叉,就能在任意版本间跳转。但前提是每次修改后都手动提交,操作略显繁琐。
八、用 AGENTS.md 实现自动提交
在对话框里要求"每次变更后执行 git commit"只能对当前会话生效,其他会话不会遵守。更通用的做法是在项目根目录添加配置文件。
用本地编辑器(如 Cursor)打开项目目录,新建 AGENTS.md,写入通用要求,例如:项目名称、技术栈、核心要求(修改完成后使用 git commit 提交并添加描述信息)、界面风格设置、代码可读性要求等。保存后,在 Codex 的变更面板中可以看到这个未暂存文件,填写提交信息"创建 AGENTS.md 文件"并提交。

九、归档与恢复对话
不再需要的派生会话可以点击"归档对话"隐藏,但归档不等于删除。在设置页面底部可以找到"已归档对话",需要时点击取消归档即可恢复;确认不需要时再点删除,才会彻底移除。
小结
本文围绕 Codex 项目的版本管理,走通了完整链路:修改样式并提交 → 测试搜索并修正需求 → 按设计图生成主题 → 用 Fork 分叉切换对话节点 → 用 git reset 回滚代码 → 用 AGENTS.md 规范自动提交。核心要点有三条:每次改动后及时提交,让每个版本都有编号可追溯;回滚代码的同时用 Fork 切换对话,避免上下文污染;把通用规则沉淀到 AGENTS.md,让提交行为跨会话生效。掌握这套组合,代码再多也能从容回滚。
想系统学习这门课程?
你已阅读完本文。需要更完整的知识体系,可以继续了解「Vibe Coding 实战课程」。
查看课程详情