我是一个Git的新手,并试图理解这些原则。正如我在Git中所了解的,每个文件都按照Git Book以及this post完全存储。然而,git book还指出了git gc,它压缩二进制文件并计算文本文件的差异,这种说法似乎与git存储完整文件的第一点相矛盾。大型项目的git历史数据
1)有人可以解释哪一个是正确的?如果git gc确实计算了部分差异,并且它恰好在很长一段时间后运行,这是否会确保所有差异都是从基本版本创建到所有分支?如果git gc没有定期运行,这是否意味着很多计算时间?
2)考虑到像Android这样的项目有大量的源文件和资源文件,这似乎表明git会在每次提交时大小都会增大。当开发者提取Android源代码时,如果它为所有源文件和二进制文件提取整个历史记录,是否会占用大量空间?我在这里错过了什么吗?这是如何长期持续的?
在[pro-git](http://progit.org/book/ch9-4.html)的最后一段的第二段中提到了使用最新版本。 – Andy