SuperAPI AI 工具集

git-worktrees

编程与开发

查看项目

更新于 10-16 05:46

技能介绍

用途:在开始需要与当前工作区隔离的功能开发,或执行实现计划之前,创建隔离的 Git worktree 工作区。Git worktree 共享同一仓库,可同时处理多个分支而无需切换。核心原则是系统化目录选择加安全校验,等于可靠的隔离。开始时需声明正在使用该技能设置隔离工作区。

目录选择顺序:先检查已有目录,依次执行 ls -d .worktrees 2>/dev/null 与 ls -d worktrees 2>/dev/null,存在则使用,两者都存在时优先 .worktrees;再检查 CLAUDE.md,执行 grep -i "worktree.*director" CLAUDE.md 2>/dev/null,有偏好则直接使用;都没有则询问用户,可选项目内隐藏目录 .worktrees/ 或全局位置 ~/.config/superpower-planning/worktrees/<project-name>/。

安全校验:项目内目录创建前必须确认已被忽略,执行 git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null;若未忽略,则向 .gitignore 添加相应行并提交,再继续创建,以防 worktree 内容被误提交。全局目录在项目之外,无需校验。

创建步骤:检测项目名 project=$(basename "$(git rev-parse --show-toplevel)");确定完整路径后用 git worktree add "$path" -b "$BRANCH_NAME" 创建并进入;随后自动检测并运行项目初始化,如 package.json 执行 npm install、Cargo.toml 执行 cargo build、requirements.txt 执行 pip install -r requirements.txt、pyproject.toml 执行 poetry install、go.mod 执行 go mod download;再运行测试验证干净基线,如 npm test、cargo test、pytest、go test ./...,失败则报告并询问是否继续,通过则报告就绪与位置。

适用场景:需要隔离工作区的功能开发、执行实现计划、在共享分支上开始工作。常与 superpower-planning:brainstorming、executing-plans 配合,完成后需配合 finishing-branch 清理。

限制与注意:不得跳过忽略校验、基线测试验证,不得在测试失败时未经询问继续,不得在目录不明确时臆断位置,不得跳过 CLAUDE.md 检查;无对应项目文件时跳过依赖安装。