我正在阅读有关git内部词的读物,它说斑点只是包含文件的内容。所以我继续做以下
echo "hello world" > a.txt
git add a.txt
.git/object
具有一个文件夹3b18e512dba79e4c8300dd08aeb37f8e728b8dad
。打开它后,其中有垃圾价值。但是运行以下命令,
git cat-file -p 3b18e512dba79e4c8300dd08aeb37f8e728b8dad
// hello world
因此,猫文件命令肯定知道如何解析斑点对象。斑点中的垃圾价值是什么?cat-file
如何解释它。我确定它是文件的内容,但是以什么格式写为?
在斑点的情况下,其内容代表斑点标头和内容。您可以使用:
进行检查$ openssl zlib -d -in .git/objects/3b/18e512dba79e4c8300dd08aeb37f8e728b8dad
blob 12hello world
例如。
在git中,blob是文件的内容。所有斑点都被git中的Zlib和Delta压缩压缩(因此,修订不会吞噬大量空间),这就是为什么斑点不可读的原因。斑点的名称是其sha-1哈希。