首页 > 解决方案 > 在 Git 中,delta 是什么意思?

问题描述

我是 Git 新手。今天我通过 git 终端拉了一个分支并收到以下消息:

远程:计数对象:5,完成。

远程:压缩对象:100% (3/3),完成。

远程:总计 3(增量 2),重用 0(增量 0)

拆包对象:100% (3/3),完成。

三角洲是什么意思?

标签: git

解决方案


好的,所以首先我们需要了解 Git 如何在存储库中存储数据。最重要的是它始终存储整个文件,换句话说,在概念级别上,Git 在每次提交中存储项目树的“精确副本”。

好的,但是您可能会问,每次提交不会通过整个树的新副本来增加存储库大小是如何发生的。这就是魔法发生的地方。首先让我们看看我们目前在树中有 2 个文件并已提交

a.txt
b.txt

当我们更改b.txta.txt保持原样时,我们不需要存储的全新副本a.txt,只需指向旧副本(因为它的哈希没有改变)。

但是让我们更进一步,我们也不需要存储整个b.txt文件,只需存储已更改的部分即可。所以让我们分成b.txt已知大小的块,并使b.txt节点只是这些块的列表。这样我们就可以只存储一次重复的块,并节省空间。这些“块”中的每一个都称为增量。


推荐阅读