我是 Git 的新手。今天我通过 git 终端拉了一个分支,得到以下消息:
远程:计数对象:5,完成。
远程:压缩对象:100% (3/3),完成。
远程:总计 3(增量 2),重复使用 0(增量 0)
拆包对象:100% (3/3),完成。
德尔塔是什么意思?
Hau*_*eth 12
好的,首先我们需要了解 Git 如何在存储库中存储数据。最重要的是它始终存储整个文件,换句话说,在概念级别上,Git 在每次提交中存储项目树的“精确副本”。
好的,但是您可能会问,每次提交不会通过整个树的新副本增加存储库大小是如何发生的。这就是魔法发生的地方。首先让我们看看我们有 2 个文件当前在树中并提交
a.txt
b.txt
Run Code Online (Sandbox Code Playgroud)
当我们更改b.txt但保持a.txt原样时,我们不需要存储 的整个新副本a.txt,只需指向旧副本(因为它的哈希值没有改变)。
但是让我们更进一步,我们也不需要存储整个b.txt文件,只需要存储已更改的部分。所以让我们分成b.txt已知大小的块,让b.txt节点只是这些块的列表。这样我们可以只存储重复的块一次,并节省空间。这些“块”中的每一个都称为增量。