用途:自动化 Git 仓库维护,清理无用分支、同步远端状态,并检查提交信息质量。主要能力包括:
一、同步远端。先检测默认分支(优先从 origin/HEAD 解析,回退检查 main、master),执行 git fetch origin --prune 清理已删除的远端跟踪引用;若工作区有未提交改动则中止;记录当前分支后切换到默认分支并执行 git pull --ff-only。
二、识别可清理分支。两种方式合并去重:一是已完全合并进默认分支的分支(git branch --merged),二是远端跟踪引用已消失的分支(upstream track 显示 [gone])。始终排除受保护分支:默认分支、main、master、develop 以及 release/*。
三、检查提交信息质量。查看当前分支领先默认分支的提交,判断是否符合 conventional commit 格式(feat、fix、chore 等,可选 scope,可带 !),按不合规数量给出 Info/Medium/High 级别,仅作报告,不创建 issue。
四、确认与执行。列出候选分支及原因,通过交互选项让用户选择全部删除、逐个挑选或跳过。删除本地分支使用 git branch -d(保留 Git 内置安全检查,不强制 -D);若有远端分支则用 git push origin --delete 删除。单个失败会跳过并继续,不中断整体流程。
五、报告。输出删除前后的本地分支数量、已删除分支及原因、失败项、剩余分支,以及提交信息质量摘要。
限制:需要能访问 origin 的 Git 仓库环境;默认分支无法确定时中止;远端删除失败时本地删除仍计为成功;不自动创建 GitHub issue;无候选分支时跳过清理步骤但仍然输出报告和提交质量部分;若当前分支没有领先默认分支的提交,则提交质量部分整体替换为提示信息。