我正在阅读关于git内部的内容,它说blob只包含文件的内容。所以我继续做下面的事情
echo "hello world" > a.txt
git add a.txt
.git/object
有一个文件夹3b18e512dba79e4c8300dd08aeb37f8e728b8dad
。
打开它后,它就有垃圾值。但是运行以下命令,
git cat-file -p 3b18e512dba79e4c8300dd08aeb37f8e728b8dad
// hello world
所以cat-file命令肯定知道如何解析blob对象。什么是blob中的垃圾值以及cat-file
如何解释它。我确定它是文件的内容,但它的格式是什么?
答案 0 :(得分:1)
在git中,blob是文件的内容。所有的blob都是用gl中的zlib和delta压缩来压缩的(所以修改不会占用大量的空间),这就是blob不可读的原因。 blob的名称是SHA-1哈希。
答案 1 :(得分:1)
在blob的情况下,其内容表示blob标题和内容。您可以通过以下方式查看:
$ openssl zlib -d -in .git/objects/3b/18e512dba79e4c8300dd08aeb37f8e728b8dad
blob 12hello world
例如。