ratfactor 用一组实验回答"一个 Git 提交占多大空间"。短答案是看情况:Git 把对象存成 zlib 压缩数据,实际大小取决于内容可压缩程度,而松散对象之后还会被打包成 packfile 进一步去重。作者在只产生松散对象、不打包的条件下测量:git init 约 64,828 字节;提交 250 个极小文件约 47,640 字节;在含 50 个文件的目录里改 3 个字节约 17,145 字节;单文件仓库改 3 个字节约 8,709 字节;提交一个 583,840 字节的二进制文件约 297,873 字节;提交一个 16,415,223 字节的大源码文件约 1,622,188 字节。