SuperAPI AI 工具集

rebase-worktrees

编程与开发

查看项目

更新于 11-06 16:22

技能介绍

用途:该技能面向多 Git 工作树(worktree)的日常维护,用于把所有非主工作树统一变基到某个目标分支,并在变基成功后同步依赖与 .env 键。

主要能力:

  1. 工作树收集:运行 git worktree list --porcelain,识别主工作树(第一条记录,排除路径含 .claude/worktrees/ 的工作树),记录其路径与分支;若无其他工作树则告知用户并停止。
  2. 目标分支确定:若提供分支参数则使用该参数,否则取主工作树当前分支;目标始终为本地分支,不运行 git fetch。
  3. 逐树变基:对每个非主工作树执行 git -C <worktree_path> rebase <target_branch>;遇冲突执行 git rebase --abort 恢复原状并记入失败列表,然后继续处理下一个工作树。
  4. 依赖安装:仅对变基成功的工作树,按根目录锁文件判断包管理器并安装——bun.lockb/bun.lock→bun install,pnpm-lock.yaml→pnpm install,yarn.lock→yarn install,package-lock.json→npm install;无锁文件则跳过,多个锁文件按上述优先级取第一个,安装失败只报告不中断整体流程。
  5. .env 键同步:主工作树无 .env 则整步跳过;否则解析其键名,对每个变基成功的工作树比较键集合,列出新增键(主有子无)与缺失键(子有主无),通过 AskUserQuestion 询问是否更新:新增键从主工作树复制键值对,多余键从工作树 .env 删除;用户拒绝则跳过。
  6. 结果汇总:报告目标分支、成功与失败的工作树路径及分支、各工作树安装状态(成功/失败/跳过)、.env 同步状态(已更新/跳过/无 .env)。

使用方式:在支持该技能的环境中触发,例如用户要求“rebase worktrees”“sync worktrees”“update all worktrees”“rebase all worktrees onto main”等;可选传入目标分支参数。

适用场景:同时维护多个工作树、需要批量对齐到主分支并保持依赖与环境变量一致的开发流程。

限制与注意:冲突时必须中止,不留下变基中间状态;某个工作树失败不阻断其余工作树;只为变基成功的工作树安装依赖;.env 同步只比较键、不比较值,新增键的值取自主工作树。