一次 Git commit 到底有多大?
How big is a Git commit?
Git commit 的大小并非固定,而是取决于文件的压缩率和冗余度。我通过一系列实验发现:一个空的 Git 仓库初始化只需 64KB;提交 250 个微小文件增加约 47KB;而仅修改 3 个字节,在大型目录中也会产生 17KB 的开销。对于大文件,Git 的压缩效率惊人:提交 580KB 的二进制文件仅占用 300KB,而 16MB 的源代码文件压缩后仅需 1.6MB。这些数据揭示了 Git 在处理不同规模代码变更时的存储机制与效率。
对于包含少量文件的大型提交,存储在 .git 中的数据将介于未压缩提交文件的 50% 到 10% 之间。