SuperAPI AI 工具集

using-git-worktrees

编程与开发

查看项目

更新于 10-16 01:37

技能介绍

用途:在开始需要与当前工作区隔离的功能开发、或在执行实现计划之前,创建隔离的 Git worktree,使同一仓库可同时在多个分支上工作而无需切换。核心原则是系统化目录选择加安全校验,保证可靠的隔离。

目录选择:按优先级判断。先检查是否存在 .worktrees(首选隐藏目录)或 worktrees,存在则使用,两者都存在时 .worktrees 优先;其次检查 CLAUDE.md 中是否指定 worktree 目录偏好,有则直接使用;若都不存在,则询问用户选择 .worktrees/ 或 ~/.config/superpowers/worktrees/<项目名>/。

安全校验:对项目本地目录(.worktrees 或 worktrees),创建前必须确认 .gitignore 中含对应行,否则需立即加入并提交,避免工作树内容被误纳入仓库;全局目录在项目之外,无需校验。

创建步骤:先用 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 ./...;测试失败需报告并询问是否继续,通过则报告就绪位置。

适用场景与限制:用于功能开发前建立隔离工作区,与 finishing-a-development-branch 配对做收尾清理,常被头脑风暴、executing-plans 或子代理开发流程调用。需避免跳过 .gitignore 校验、假设目录位置、在测试失败时未经许可继续以及硬编码初始化命令。本技能未提供具体收费、价格或平台信息。