gpt4 book ai didi

git - Git 树对象的内部格式是什么?

转载 作者:IT王子 更新时间:2023-10-29 01:03:35 24 4
gpt4 key购买 nike

Git 树对象内容的格式是什么?

blob 对象的内容是 blob [size of string] NUL [string],但是树对象的内容是什么?

最佳答案

树对象的格式:

tree [content size]\0[Entries having references to other trees and blobs]

引用其他树和 blob 的每个条目的格式:

[mode] [file/folder name]\0[SHA-1 of referencing blob or tree]

我写了一个压缩树对象的脚本。输出如下:

tree 192\0
40000 octopus-admin\0 a84943494657751ce187be401d6bf59ef7a2583c
40000 octopus-deployment\0 14f589a30cf4bd0ce2d7103aa7186abe0167427f
40000 octopus-product\0 ec559319a263bc7b476e5f01dd2578f255d734fd
100644 pom.xml\0 97e5b6b292d248869780d7b0c65834bfb645e32a
40000 src\0 6e63db37acba41266493ba8fb68c76f83f1bc9dd

作为模式第一个字符的数字 1 表明它是对 blob/文件的引用。上面的例子,pom.xml是一个blob,其他都是树。

请注意,为了美观起见,我在 \0 之后添加了新行和空格。通常所有内容都没有换行。此外,我将 20 个字节(即引用 blob 和树的 SHA-1)转换为十六进制字符串以更好地可视化。

关于git - Git 树对象的内部格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14790681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com