我是一個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