项目拆成七八个仓库,每次发版前要挨个 cd 进去 git status ,确认没漏提交、没漏推、没有停在 rebase 中间。 这件事每个月做两三次,每次十几分钟,每次都会漏一个。
一开始写了个 for 循环,能跑但输出是流的,400 行文件名里看不出结论,而且脚本只活在自己机器上。 后来看到一些多仓库看板,好看,但回答的是「我现在怎么样」,不是我发版前要的「这次能不能发」。
所以做了个东西:扫一个目录找出所有仓库,一屏看状态;点「巡检」按一套固定规则逐仓判定通过 / 未通过, 报告能复制成 Markdown 贴进发版单。规则可以写进 .gittracer.toml 跟着仓库走,命令行版 gittracer-audit 读的是同一份,退出码 0/1/2 ,能直接接 CI 。
和 gfold / RepoZ 这类工具的区别:那些是「看状态」,这个是「判能不能发」。同一个判定, 界面点一下和 CI 跑一遍结论要一致——这需要把规则从界面里抽出来,长在看板里的规则做不到。
明确的局限,先说在前面:
- 只支持 Windows (文件夹选择走 WinForms ,便携 zip 不写 %TEMP%)
- 巡检不跑 git fetch ,所以「落后远程几个提交」用的是本地跟踪分支的旧值
- 不做 hunk 暂存 / 交互式 rebase ,那是 Git 客户端的活
- 没有 --fix ,只判不改 1.8 MB 免安装: https://github.com/haoguan2013/gittracer 最想知道的是:你们团队发版前核对哪些东西?我这边 11 条规则是照着自家流程定的,很可能漏了你认为重要的那条。