当 AI 编程工具开始从「辅助补全」走向「并行执行任务」,开发者的工作区管理方式也在发生变化。Codex CLI 在开启新会话时提出的一个选择——Current checkout 还是 New worktree——看似只是一个目录确认步骤,实际上反映了 AI 编程工作流正在与 Git 协作机制更深度地结合。
这个问题出现在新开的 conversation,也就是新会话启动时。Codex CLI 询问的并不是简单的项目路径,而是:这个新的 AI 会话应该在哪个 Git 工作区里执行代码读取和修改。
Current checkout:继续在当前项目目录中工作
选择 Current checkout,对应的是「Keep using the current working directory」,即继续使用当前终端所在的项目目录。例如用户当前位于 ~/projects/my-app,新的 Codex 会话也会直接在这个目录中运行。
这种模式下,Codex 能够看到当前目录里的全部文件,包括尚未 commit 的修改;它后续对代码做出的改动,也会直接反映在用户正在使用的工作目录中。
- 适合开发者想接着当前项目继续工作的情况
- AI 修改会直接进入当前工作区
- 未提交的本地改动也会被会话感知
如果开发者平时只打开一个 Codex CLI 会话,并且主要由自己与 AI 共同推进同一个任务,这种选择比较直接。
New worktree:为 AI 会话创建隔离工作副本
另一种选择是 New worktree,对应「Create an isolated managed checkout」。该选项会利用 Git 的 worktree 功能,为新会话创建一个隔离的工作副本。
这种机制可以理解为:主工作区仍然由开发者继续使用,而 Codex 则在另一个目录里独立完成修改、测试等任务。例如,用户当前可能在 main 分支修改 login.ts,同时让另一个 Codex 会话去尝试修改 payment.ts 和 api.ts,并运行测试。由于 Codex 的工作目录被隔离,它不会直接触碰用户当前 checkout 中未提交的修改。
这种选择的意义,在 Codex 支持多个 conversation 后变得更加明显。开发者可以同时让不同会话承担不同任务,例如一个会话修复 bug,另一个会话编写测试,而自己继续开发。在这种情况下,让后两个会话使用独立 worktree,可以减少不同任务之间修改文件造成的冲突。
不是重新 clone,而是更轻量的 Git worktree
素材中还提到一个容易误解的地方:New worktree 并不是重新执行一次 git clone 来获得仓库副本。它使用的是 Git worktree 机制,多个工作目录共享底层 Git 仓库数据,但各自拥有独立的工作目录和 checkout。
因此,与重新 clone 相比,这种方式通常更轻量。它既保留了隔离的工作空间,也避免了为每个 AI 会话复制完整仓库数据的开销。
从目录选择看 AI 编程工作流的变化
这个选项本身并不复杂,但它出现的位置值得关注。过去,开发者通常只在一个工作目录中进行代码修改;而当 AI 编程工具开始支持多个并行会话,代码修改主体不再只有开发者本人。AI 可以同时在另一个任务流中改动文件、运行测试、验证结果。
在这样的场景下,Git worktree 从一种相对小众的 Git 功能,变成了管理 AI 编程任务边界的一种工具。它让开发者可以在保持当前工作区稳定的同时,把探索性任务交给隔离环境。
对于只使用单个 Codex CLI 会话的开发者,Current checkout 仍然足够直接;但当 AI 开始承担多任务协作角色时,New worktree 提供了一个更安全的工作方式:AI 可以独立折腾,开发者的当前修改不被直接干扰。
原创文章,作者:点点,如若转载,请注明出处:https://www.dian8dian.com/codex-cli-duo-hui-hua-shi-dai-wei-shen-me-current-checkout