对象统计回答什么
它回答的是「仓库为什么占这么大」。输出把对象分成松散对象与打包对象两类,分别给出数量与体积:松散对象多说明缺少整理,打包体积大则通常意味着历史里存过大文件。它是体积排查的第一步,给出方向,而不是最终结论。
基本信息
| 松散对象 | 数量与体积 |
|---|---|
| 打包对象 | 数量与体积 |
| 辅助字段 | 垃圾文件数量、可清理的包对象数 |
| 可读单位 | 加 -H 输出人类可读的格式 |
| 详细输出 | 加 -v 显示全部统计字段 |
典型使用场景
- 排查体积异常,判断是松散对象堆积还是打包体积过大
- 决定是否需要安排一次整理
- 历史清理或大文件移除之后对比前后效果
- 克隆速度变慢时先看数据再决定动作
- 例行体检时记录体积变化趋势
常用示例
常用示例
git count-objects -v # 查看全部统计字段
git count-objects -vH # 以人类可读的单位输出
git count-objects -v | grep count # 只关注对象数量
git count-objects -v | grep size-pack # 只关注打包体积字段读法
| 字段 | 含义 | 处理方向 |
|---|---|---|
| 松散对象数量与体积 | 尚未打包的对象 | 偏大时做一次常规整理即可收敛 |
| 打包对象数量与体积 | 已打包的对象 | 偏大多数来自历史中的大文件 |
| 垃圾文件 | 残留的无用文件 | 整理时可安全清理 |
| 可清理的包对象 | 打包中已被取代的对象 | 整理时会回收 |
打包体积能回答「仓库为什么这么大」的大方向,再结合大文件排查手段定位具体来源,比直接猜要可靠。
松散对象体积偏大而打包体积正常时,通常一次常规维护就能收敛,不必立刻做历史层面的清理。
体积排查顺序
- 先看统计结果,区分松散对象与打包对象哪一类偏大
- 松散对象偏多时安排一次常规整理即可收敛
- 打包体积偏大时转向查找历史中的大文件
- 处理完成之后重新统计,确认数值符合预期