SuperAPI AI 工具集

branch-cleaner

通用与其它

查看项目

更新于 10-15 23:33

技能介绍

用途:当用户要求列出、审计、清理或删除本地或远程 Git 分支时使用,尤其针对陈旧、已合并、上游已消失、受保护或被 worktree 占用的分支。

主要能力:先解析仓库、当前分支、远程与远程默认分支,仅在信息不明确时询问。随后抓取并清理远程跟踪引用,收集证据,包括 git status -sb、git worktree list --porcelain、git branch --merged <remote>/<default> 与 git branch --no-merged <remote>/<default>,以及 git for-each-ref refs/heads --sort=committerdate --format="%(committerdate:iso8601) %(refname:short) %(upstream:short) %(upstream:track)"。有 GitHub 上下文时优先用 GitHub 连接器获取开放/已合并 PR 元数据与分支保护信息,gh 仅作后备。

使用方式:排除当前分支、默认分支、任何 worktree 中检出的分支、受保护分支或规则集,以及有开放 PR 的分支;若开放 PR 或保护状态无法核实,则仅报告不删除。候选按证据分组:已合并进抓取的默认分支、上游已消失、陈旧但未合并(除非用户明确批准强制删除,否则仅报告)。删除前展示具体分支名、最后提交日期、合并状态与本地/远程范围。仅删除已批准的候选:每次删除前重新抓取证据并核对分支尖端 SHA、worktree 使用、开放 PR 与保护状态;若尖端或状态变化或安全检查不可用则跳过。本地已合并分支用 git branch -d <branch>;远程分支仅在明确要求时用 git push <remote> --delete <branch>;git branch -D 仅用于用户单独明确批准的未合并分支。之后重跑候选命令与 git status -sb 验证。

限制与安全:分支年龄只作审查信号,不证明可安全删除;不得通过未解析的通配符或生成命令字符串删除;不删除其他 worktree 使用的分支;未经明确批准不删除远程分支或强制删除未合并分支;保留无关工作区改动。交付物为已删除分支、跳过分支及原因、执行的命令与仍需决策的候选。