同时做两个功能时,频繁切分支容易打断正在修改的代码。Git worktree 让同一个仓库拥有多个工作目录,各自检出分支。这个 Skill 负责把隔离环境准备好,并说明新环境是否已经具备可以开发的测试基线。
安装并开始
在 Claude Code 会话内运行下面的插件命令,安装整套 Superpowers,保留各技能之间的衔接。Codex 用户在插件界面搜索并安装 Superpowers;两个客户端需要分别安装。安装后开启新会话,在项目目录里明确提出使用 using-git-worktrees,再交代任务范围。
/plugin install superpowers@claude-plugins-official
先检查是否已经隔离
以下是可按项目调整的首次输入:
使用 Superpowers using-git-worktrees,为订单导出准备隔离工作区。先确认当前是否已经在 linked worktree、项目目录约定和 git 状态;从 main 创建 feature/order-export,不改动当前未提交文件。完成依赖准备与基线测试后告诉我新路径、分支和已有失败,再开始功能开发。
桌面开发工具可能已经为任务创建了关联工作树。当前上游说明要求先识别这一点,能复用就不再套一层新工作树。子模块也有类似的 Git 路径表现,需要区分,不能只看到 .git 是文件就下结论。宿主工具有原生工作区能力时,应优先保持它的状态一致。
明确分支从哪里开始
给出准确的起点和分支名,说明是否需要当前未提交修改。示例选择从 main 开始,所以当前目录中的临时改动不会自然变成新分支内容。如果需要带过去,应单独决定如何保存和转移,而不是让 Agent 猜测或清理原目录。
手动创建时,技能会检查项目已约定的位置或现有工作树目录。在仓库内部放置 .worktrees 一类目录,需要确认它被忽略,避免把另一个检出目录作为新文件提交。没有约定时先确定位置,比把代码散落到不明目录更便于后续清理。
新目录还需要建立基线
检出成功不等于应用已经能运行。Agent 还应识别包管理器、锁文件和已有初始化步骤,准备依赖,再运行合适的基线测试。原目录的本地环境文件和未跟踪资源也不应被假设为自动存在;报告缺少什么,并按项目约定配置。
最终交付应列出工作树路径、分支、起点、运行过的检查以及原本就存在的失败。这样开始功能开发后,才容易区分新问题和旧问题。基线失败时先让你决定如何继续,而不是静默带着异常进入实现。
Git 工作树共享仓库中的部分状态,并不是完全独立的仓库副本。收尾时先确认改动已妥善保存,再使用工作树管理命令清理;不要用强制删除掩盖脏目录。这个技能帮助管理开发环境,不负责自动批准合并、发布或丢弃工作。
主线未完成时插入一个紧急修复
你正在工作树 A 修改报表,生产环境突然需要修复登录回调。先确认当前工作树 A 有哪些未提交文件,选定修复要从哪个已存在的稳定分支或提交开始;新建工作树 B 后,两个目录的文件改动互不自动同步。让 Agent 在 B 中安装或复用依赖,并先运行与登录相关的基线测试。若它在 B 里看到报表的未提交代码,说明目录或起点选错了,应停下来检查,而不是直接继续修复。
修复完成后分别记录 B 的分支、提交和验证结果。合并回主线时按正常 Git 流程处理,不能因为目录相邻就复制文件覆盖 A。删除 B 前检查未跟踪文件和未提交改动,确认修复已保存、需要的日志也已转存。若桌面工具已经提供原生隔离环境,先使用它的入口和清理方式,避免手工建立工作树后工具界面无法识别。工作树提供文件隔离,不自动复制数据库、环境变量或账号凭据。
创建后先确认工作区在哪里
启动隔离工作前,先确认将创建的 worktree 路径,而不只确认分支名。有使用者在旧版默认选择下,把三个分支的 worktree 建到了全局配置目录,累计超过 1 GB,后来难以定位修改和构建产物。让 Agent 在创建后回报绝对路径、当前分支及基线测试;若希望项目附近管理,就先按项目规则设置本地 worktree 目录并确认忽略规则。清理时用 git worktree list 核对,避免误删仍有未提交改动的工作区。