git show-index输出的第3列是什么?

Dan*_*iel 5 git

当我使用时,git show-index我得到这样的东西:

12 3efc399e3f684061ef13c5b7dfde66342ef23033 (44b2e14e)
218 53f4215e537f351457713ad4f18d6e5d5dedf333 (480e84f1)
422 b532ec8e8e38c52002e953c878010391245eaa84 (bbaa1b63)
625 bb4359ded039eefe9fab5c99f196c67ba1a9493e (68e4b84f)
Run Code Online (Sandbox Code Playgroud)

根据手册页,前两个值是packfile中的偏移量和每个对象的sha1.但括号中的第三个值是什么?我找不到任何相关的东西.

Edw*_*son 1

版本 2 packfiles开始,这是 packfile 数据的 CRC32。

它不是对象的 CRC32 -这将是多余的,SHA1 值就在那里 - 它是实际压缩(或增量化)包文件数据的 CRC32。这允许您从包文件中读取数据并验证它,而无需解压缩它或应用增量来重建完整的对象。