git存储库快照与差异

时间:2012-07-03 20:19:46

标签: git

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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

我的建议是先学习git及其数据模型的概念,不要先担心存储机制。