SuperAPI AI 工具集

repository-hygiene-sweep

通用与其它

查看项目

更新于 10-15 17:29

技能介绍

用途:维护 Git 仓库卫生,包括修剪已合并分支、压缩存储、查找大对象与悬空对象、完善 .gitignore,以及在获得明确同意后重写历史以移除误提交的大文件或密钥。核心原则是保守:先只读诊断,再提出方案,确认后逐类执行,任何存疑项一律跳过而非猜测。

主要能力与流程:

  1. 诊断(只读):git status --short、git fetch --all --prune --dry-run、git branch -vv --merged / --no-merged、du -sh .git、git count-objects -vH,也可运行 bash {baseDir}/scripts/diagnose.sh 汇总分支、体积、大 blob 与悬空对象。
  2. 修剪分支(可逆):显式确认集成分支,列出候选,仅用 git branch -d 删除已确认名称,禁用 -D;记录被删分支的 tip SHA 以便 git branch <name> <sha> 恢复;远端清理用 git fetch --prune。
  3. 压缩存储:默认执行 git gc 与 git repack -Ad;git reflog expire --expire=now --all && git gc --prune=now 属破坏性操作,仅在明确确认后使用。
  4. 查找大/悬空对象(只读):参见 references/large-objects.md。
  5. 从历史移除大文件或密钥(破坏性,需门控):要求工作区干净、确认仓库未共享或协作者同意、并先做 git clone --mirror 备份;流程与工具选择见 references/history-rewrite.md。
  6. .gitignore 卫生:git status --ignored --short、git ls-files --others --exclude-standard、git check-ignore -v <path>;已跟踪文件需 git rm --cached 才生效。

限制与注意:分支删除、历史重写、reflog expire、gc --prune=now 属破坏性集合,必须逐项明确确认;未合并分支不得用 -D;共享历史不得随意重写;重写前必须有干净工作区与镜像备份;密钥泄露仅重写历史不够,必须轮换/吊销。输出报告 repo-cleanup-report.md,含发现、已执行操作、跳过项及原因、恢复方式。资料未提供具体收费、平台支持或性能数据。