-1

我从对这个问题的回复中知道索引文件如何存储文件的信息,但它们没有考虑树。

例如在下图中;左侧是第一次提交后的索引文件,右侧是临时更改后的索引文件。

在此处输入图像描述

这些字节是如何构成的?它们的含义是什么?

4

1 回答 1

0

根据我在这里找到的:

标头由固定签名TREE(4 个字节)和随后数据的长度00 00 00 19(4 个字节)组成,在本例中为 25 个字节长度,00... 在头部之后是条目,每个条目对应一棵树,在这种情况下我们只有根树,每个条目依次由以下条目组成:A0

  • 第一个条目是树路径的可变长度以空值结尾的字符串值,在这里我们可以看到空字符00,因为这是根树。
  • 后面的字节30对应ASCII值1,即当前树覆盖的blob个数(这个值可以是-1所有的树,当有更改未提交时占用2个字节)
  • 下一个字符是空格20
  • 后跟另一个 ASCII 字符,表示当前树的子树数,0.
  • 1 个字节0A(换行符)
  • 20 字节,树对象的 SHA-1 值46F83FD789EB9A8DA35167B39173878D7E4F85A0
于 2021-11-22T19:10:37.137 回答