https://app.codecrafters.io/courses/redis/stages/2?repo=60791857-1f75-4023-86aa-7a683786be42

Git 对象

Blobs

这个类型的文件只用来存储数据,不存储名字和权限。

Tree

它们用于存储目录结构。 存储的信息可以包括树中的文件/目录、它们的名称和权限等内容。

Commit

这些用于存储提交数据。 存储的信息可以包括提交消息、作者、提交者、父提交等。

所有 Git 对象都可以通过 40 个字符的 SHA-1 哈希(也称为“对象哈希”)来识别。

以下是对象哈希的示例:e88f7a929cd70b0274c4ea33b209c97fa845fdbc。


Git 对象存储

存储在 .git/objects 目录下。上面提到的对象得到hash是 e88f7a929cd70b0274c4ea33b209c97fa845fdbc, 他的存储路径是

.git/objects/e8/8f7a929cd70b0274c4ea33b209c97fa845fdbc