查看当前 Git 仓库的大小
想确认什么
| 想确认什么 | 推荐命令 | 说明 |
|---|---|---|
.git 目录本身占多大 | du -sh .git | 看 Git 历史、对象、索引和引用的磁盘占用 |
| 整个仓库占多大 | du -sh . | 包括工作区文件和 .git |
| Git 对象库的详细统计 | git count-objects -vH | 看未打包对象、pack 文件和对象库体积 |
推荐命令
查看 .git 目录大小
du -sh .git
查看整个仓库大小
du -sh .
查看 Git 对象库统计
git count-objects -vH
输出怎么看
git count-objects -vH 的几个关键字段:
count:当前未打包对象的数量。size:这些未打包对象占用的空间。in-pack:已经打进 pack 文件的对象数量。packs:pack 文件数量。size-pack:pack 文件总大小,通常最能反映历史对象库体积。
这条命令只统计 Git 对象库,不等于整个工作区占用;du -sh . 才是“整个仓库在磁盘上有多大”。
常用组合
du -sh .git
du -sh .git/objects
git count-objects -vH
- 想排查历史对象是否膨胀,优先看
.git和size-pack。 - 想排查依赖目录、数据集、构建产物是否占空间,优先看整个仓库
du -sh .。 - 如果仓库使用 Git LFS,还可以单独看:
du -sh .git/lfs/objects
注意事项
du是 Linux 常用命令,这一页默认运行环境是 Linux。git count-objects -vH看不到工作区的大文件,也看不到被.gitignore忽略但实际存在的构建产物。- 如果仓库空间异常变大,先区分是工作区变大,还是
.git历史变大,再决定是否需要清理构建目录、迁移大文件或整理历史。