Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git blob的内容是否加密?_Git - Fatal编程技术网

git blob的内容是否加密?

git blob的内容是否加密?,git,Git,我正在阅读关于git内部的文章,它说blob只包含文件的内容。所以我继续做下面的事情 echo "hello world" > a.txt git add a.txt .git/object有一个文件夹3b18e512dba79e4c8300dd08aeb37f8e728b8dad。 一打开它,里面就有垃圾价值。但是运行下面的命令 git cat-file -p 3b18e512dba79e4c8300dd08aeb37f8e728b8dad // hello world 因此cat

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

在git中,blob是文件的内容。所有blob都是用git中的zlib和delta压缩进行压缩的(因此修订不会占用大量空间),这就是blob不可读的原因。blob的名称是它的SHA-1散列。

在git中,blob是文件的内容。所有blob都是用git中的zlib和delta压缩进行压缩的(因此修订不会占用大量空间),这就是blob不可读的原因。blob的名称是它的SHA-1散列。

对于blob,它的内容表示blob头和内容。您可以通过以下方式进行检查:

$ openssl zlib -d -in .git/objects/3b/18e512dba79e4c8300dd08aeb37f8e728b8dad
blob 12hello world

例如。

对于blob,其内容表示blob头和内容。您可以通过以下方式进行检查:

$ openssl zlib -d -in .git/objects/3b/18e512dba79e4c8300dd08aeb37f8e728b8dad
blob 12hello world

例如。

不。使用散列对文件进行寻址。blob包含使用zlib压缩的文件内容,如下所述。对不起,您读对了,文件只是压缩的。No。使用散列对文件进行寻址。blob包含使用zlib压缩的文件内容,如下所述。对不起,您读对了,文件只是压缩的。“在git中,blob是文件的内容”——不完全是。Git在压缩文件并正式使其成为blob之前向文件添加头。标头由字符串“blob”加上一个空格,再加上以ASCII数字(如123)表示的文件长度(以字节为单位),后跟一个空终止字符,然后是相关文件的内容。SHA-1是根据zlib压缩之前的文件内容+头计算出来的。Git在压缩文件并正式使其成为blob之前向文件添加头。标头由字符串“blob”加上一个空格,再加上以ASCII数字(如123)表示的文件长度(以字节为单位),后跟一个空终止字符,然后是相关文件的内容。SHA-1是根据zlib压缩之前的文件内容+头计算的。