用途:把每个指定的本地分支就地变基到一个目标分支,使分支本身移动,而不是做 Git 三参数移植。支持自然语言或 /rebase fix/a feat/b --onto origin/develop 形式;--remote 指定发布远端,--onto 指定目标。
主要能力:先读取仓库说明,检查 git status、git worktree list、远端与各分支上游,把输入解析为本地 refs/heads/<name> 及发布远端与目标 ref;去重、剔除目标分支,对缺失或歧义先询问。按分支检出位置决定变基位置:未检出则用 git worktree add "$batch_dir/<name>" <name> 新建链接工作树;干净检出则就地变基;有未提交改动或进行中操作则询问提交、暂存或跳过。随后 fetch 目标与上游,固定提交 ID、起点与租约,记录旧合并基,检查合并提交与分支堆叠,并用 git update-ref "refs/rebase-backup/<name>" "$start" 建立备份 ref。
使用方式:单分支自行按 branch.md 变基;多分支时用户检出内的自行处理,工作树内的并发派发子代理,子代理只报告证据、不推送。完成后输出表格(分支、起点、新 tip、冲突与决策、检查结果、推送目标、状态),并给出撤销命令 git reset --keep refs/rebase-backup/<name> 或 git branch -f <name> refs/rebase-backup/<name>。经用户批准后,用 git -c push.followTags=false push --force-with-lease="$destination_ref:$lease" --recurse-submodules=no "$remote" "refs/heads/$name:$destination_ref" 推送,并用 git ls-remote --refs 回读验证;租约被拒则报告远端已移动并询问如何协调。
适用场景:需要批量、可控地把多个本地分支就地变基到同一目标,并在校验后安全推送。
限制:不使用普通 --force;推送前必须获得用户批准;未提交工作归用户所有;执行中断需先读 resume.md;备份 ref 默认保留,除非用户同意删除。资料未提供安装命令、收费与平台信息。