2014-02-17 80 views
1

我已经克隆了一个本地回购到两个不同的回购:一个裸露和一个非裸露。裸机为750 MB,非裸机为3 GB。由于我可以在两者之间自由地“转换”,因此相同的信息必须位于裸露和非裸露的存储库中。那么,非裸露的人怎么会是四倍大呢?为什么裸露的git回购是非裸露大小的1/4?

我会理解它是否是两倍大,因为可能每个文件都需要驻留在.git和工作目录中。但为什么四次?

+0

@Paddy哎呀,谢谢 – Anna

+0

我宁愿这是一个关于熊的问题,但我认为这样做更有意义。 – Paddy

回答

1

存储在.git/objects中的文件经常被打包。这意味着它们被压缩并且不会与块边界对齐。而结帐可能包含很多小文件。如果使用更好打包小文件(如btrfs)的文件系统,如果比率更好,我不会感到惊讶。因此,在您的.git/objects目录中一起玩的两个方面相对较小。那就是如果你没有忘记git gc。 ;-)

1

因为索引是“压缩”的,所以压缩。它们的大小比版本化文件的大小小,特别是如果它们是文本文件。

相关问题