Superpowers Git Worktrees 实战:不切分支的 5 步多分支并行开发
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
Superpowers 是一套给 AI 编码代理的技能框架,它的 git worktrees 玩法把多分支并行开发从 stash 噩梦变成一条命令:每个功能拥有独立隔离工作区,装好依赖、跑完基线测试再开工。读完你能走完从建工作树到分支收尾的完整动线。
一、你卡在哪
你大概遇到过:切完分支忘了重装依赖,测试跑了一堆红,分不清是新代码的问题还是环境的问题。
两个需求交替推进,每次切换都得先 stash,回来一看列表里堆了一串,早忘了哪个是哪个。
想让 AI 代理放手跑几个小时,它却直接在当前工作区动手,一步走偏,主分支跟着遭殃。
二、从命令到跑通:操作动线拆解
整条动线由 skills/using-git-worktrees/SKILL.md 定义,下面按你实际要做什么来拆。
先花两条命令确认自己不在工作树里,避免重复创建
流程一开始,代理会先确认当前目录是不是已经是隔离环境,并口头告诉你正在用哪个技能:
git rev-parse --git-dir git rev-parse --git-common-dir两个输出的路径不相等,说明你已经在某个 linked worktree 里了,直接跳过创建,去装依赖即可。
一个陷阱:在 submodule 里这两个路径同样不相等。先跑git rev-parse --show-superproject-working-tree,它返回路径的话,说明是 submodule,按普通仓库处理。
如果你的代理平台自带 worktree 工具,优先用它。绕过原生工具直接git worktree add,会造出平台看不见的"幻影状态",后面的清理会很麻烦。
定工作树的位置:你的指令优先,默认落 .worktrees
位置按优先级选:你或 CLAUDE.md 里写明过目录就用它;其次找项目里已有的.worktrees/或worktrees/(两者都在时取.worktrees);都没有就默认在项目根目录建.worktrees/。
创建前必须跑一行,确认目录已被忽略:
git check-ignore -q .worktrees命令没有输出说明没被忽略——先加进 .gitignore 并提交,否则整个工作树内容会被提交进仓库。这是全流程最容易被跳过的一步。
一条命令带新分支建出工作树,再按项目类型装依赖
位置定好,一条命令把 worktree 和分支一起建出来:
git worktree add .worktrees/auth -b feature/auth cd .worktrees/auth之后不用你手动 npm install 了,代理按标志文件认项目类型、自己装依赖:package.json对应 npm,Cargo.toml对应 cargo,pyproject.toml走 poetry,go.mod走go mod download。
(此处建议配一张终端中执行 worktree 创建并安装依赖的操作截图)
先跑全量测试,基线绿了再写代码
进新工作区后的第一个动作,是把项目测试命令完整跑一遍——npm test、cargo test、pytest、go test ./...都行。
- 全绿:报"基线干净",开始开发。
- 有失败:先报告失败详情,是否继续由你拍板,不能默认带着问题开工。
基线脏了,后面每次失败都会变得难以归因:你分不清是新改动坏了,还是起点就不干净。现在跑一遍,比事后排查省得多。
开发完成后交给收尾流程做决定
完工后由 finishing-a-development-branch 技能接手:先再跑一遍全量测试,红了就地停下;绿了给你三个选项——本地合并回基线分支、推送建 PR、先放着以后处理。
选合并时,它会先验证合并结果并复跑测试,然后才移除 worktree、删除分支——顺序是先合并后清理,出任何问题都还来得及挽回:
git worktree list git worktree remove <worktree路径>平时用git worktree list看一眼所有工作树,把不用的及时清掉。
三、边界与进阶
- 工作树内容被提交进了仓库:原因是目录没进 .gitignore;处理是先补进忽略列表并提交,再建 worktree。
- 创建 worktree 报权限错误:通常是沙箱拦截;处理是别再硬试,退回在当前目录就地进行安装和测试。
- 基线测试一开始就是红的:原因是分出来的分支本身带问题;处理是停下来,和你确认继续还是先排查。
四、最小上手路径
- 拿到仓库:
git clone https://gitcode.com/GitHub_Trending/su/superpowers - 在你的编码代理里安装 Superpowers,各平台入口不同,插件市场搜 superpowers 即可
- 打开项目,让代理开始一个新功能,它触发 using-git-worktrees 时回答位置选择就行
- 等依赖安装与基线测试跑完,确认绿色的就绪报告后再让它开工
- 完工后交给 finishing-a-development-branch 完成合并与清理
完整判断表见 skills/using-git-worktrees/SKILL.md 与 skills/finishing-a-development-branch/SKILL.md。
下次开新功能,先对代理说一句"在隔离工作区开工"。工作树基线变绿之后,它放手跑几个小时,你的主分支也照样干净。
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考