基于:https://git-scm.com/book/zh/v1/Git-内部原理-Packfiles
上面的链接中,介绍了Git Packfiles,主要讲了一下三个知识点:
- git push … | git gc
- .git/objects/pack/[xxx.idx|xxx.pack]
- git verify-pack xxx.idx
这里记录一下笔者对 pack/[xxx.idx|xxx.pack] 文件的内容的理解 和 疑惑
内容:
idx文件中的内容格式
- SHA-1 type size size-in-packfile offset-in-packfile
- SHA-1 type size size-in-packfile offset-in-packfile depth base-SHA-1:大文件小修改的情况下,增量信息的记录
pack文件内容:
- 12字节的Header信息
- 紧凑的内容
疑惑:
idx内容的部分摘取
5f42296a81536eb4aff4d6a66dcd4b96331a043a commit 318 222 12
6f1403eb19b5e2bdc7ceb0bd411d0854580eae24 commit 316 209 234
9680fc801a6302a46cce0d299a960c2796ee21cd commit 832 637 443
19