我猜这是访问git中特定文件的快捷方式。但我不知道目录06, 0d, 17, 27, 29, 2e
的名称代表目录名称为06
的原因和原因。
objects
├── 06
│ └── d378aef5b28791df7c6b5a58c866d8569cac87
├── 0d
│ └── 25470613db871791afd43ae724cbbe367c30ef
├── 17
│ └── af6db51eca422ab8629a40cb54b8e5d8da2b3f
├── 27
│ └── d749cd2a7e3d2b1e27080505e37b301f73108d
├── 29
│ └── faabec2bc6b5a7b00a5d6d9ebc9f2a5daf3d5b
├── 2e
│ └── e648b03e6b4bf45515a8eb3a3ab62400940fe2
答案 0 :(得分:2)
从Git documentation,当Git哈希一个对象时,上面的输出是一个40个字符的校验和SHA-1哈希。 Git使用该散列中的前两个字符作为子目录的名称,剩余的38个字符作为文件名。
如果再次检查对象目录,可以看到它现在包含该新内容的文件。这就是Git最初存储内容的方式 - 作为每个内容的单个文件,以内容及其标题的SHA-1校验和命名。子目录以SHA-1的前2个字符命名,文件名为剩余的38个字符。