用途:确保当前工作发生在隔离的 git worktree 中,不干扰用户的主检出。多数编码宿主在会话开始时会默认创建 worktree,因此先检测隔离是否已存在,避免重复创建。
主要能力与操作顺序:检测已有隔离 -> 优先使用宿主原生 worktree 工具 -> 回退到普通 git。绝不创建宿主无法感知的 worktree。
步骤 0 检测已有隔离:比较解析后的绝对 git 目录与绝对公共 git 目录。若两者相等则为普通检出,继续步骤 1;若不同,再用 git rev-parse --show-superproject-working-tree 区分:输出非空表示处于子模块,按普通检出处理;输出为空表示已在隔离 worktree 中,报告路径与分支并就地工作,不再创建。
步骤 1 优先宿主原生工具:若宿主提供 EnterWorktree / WorktreeCreate、/worktree 命令或 --worktree 标志,直接使用并停止。
步骤 2 git 回退:仅在没有原生工具且步骤 0 未发现隔离时使用。先 cd 到仓库根目录,选择有意义的分支名,确保 .worktrees/ 已被 gitignore,尽力刷新基础分支,用 git worktree add -b <branch-name> .worktrees/<branch-name> origin/<from-branch> 创建,再 cd 进入。若因沙箱或权限失败,需通过平台阻塞式提问工具让用户决定,不得静默继续。
其他操作:git worktree list、git worktree remove .worktrees/<branch>、cd .worktrees/<branch>、cd "$(git rev-parse --show-toplevel)"。
适用场景:审查 PR 同时保持当前检出空闲、并行运行多个功能。限制:单任务且可在当前分支完成时不应创建;已在隔离中时绝不创建。ce-work 与 ce-code-review 将其作为选项集成。