1

我多次阅读 git 提交包含所有存储库的快照而不是 diff。但是我不明白存储格式(快照与差异)如何影响其他操作。

对我来说,差异和快照作为存储选项是相等的。这意味着我收到与其中任何一个相同的功能。举个例子:使用快照存储选项来获取差异,需要比较两个快照并检索该差异,使用差异存储选项只需获取此差异。恕我直言,这样的方案适用于所有操作(再举一个例子:检查一些带有快照的分支只需要从快照中提取所有文件,对于差异,有必要应用所有差异,结果将与快照相同)。

那么,快照和差异之间的主要区别是什么?

4

1 回答 1

4

git commit 引用快照(或完整树)的事实是概念数据模型事实,而不是底层存储选择。

事实上,将提交存储为快照通常是不正确的。打包后,构成提交的“文件”将以类似于差异存储选择的方式针对类似文件进行增量压缩,尽管在 git 中它们可能针对不一定是相同的先前版本的东西进行增量压缩文件。

我的建议是先学习 git 的概念和它的数据模型,不要一开始就担心存储机制。

于 2012-07-03T20:37:54.070 回答