git blob的内容是否已加密?

时间:2017-02-27 18:37:56

标签: git

我正在阅读关于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如何解释它。我确定它是文件的内容,但它的格式是什么?

2 个答案:

答案 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

例如。