R's Workshop

Git Packfile

Git 是由四大 objects - blob, tree, commit, 和 tag 組成. 其中, blob 物件存放一個檔案完整內容的 snapshot. 當一個檔案經過多次修改後, 會產生多個 blob objects. 若這些未經處理的 objects 直接存放到 Git 的 objects store, 所消耗的硬碟空間會相當可觀. 因此, Git objects store 使用的壓縮過後的儲存格式 - Git packfile. Git packfile 除了存放部份的四大 object 外, 也會存放 deltfied 過後的 object, 來節省空間. 詳細請見 reference.

Reference

Git