分段和缓存有什么区别?

时间:2015-06-29 20:26:58

标签: git

我正在读这本书Pro Git, second edition

它说,第21页:

  

git diff --staged此命令将您的暂停更改与上次提交进行比较。

以及稍后的页面(不解释缓存的含义)

  

git diff --cached看看到目前为止你上演了什么。

现在我有点迷失了。分段和缓存有什么区别?

2 个答案:

答案 0 :(得分:5)

他们是同义词;来自Git docs

  

此表单用于查看您为下次提交相对于已命名的更改。通常,您希望与最新提交进行比较,因此如果您不提供,则默认为HEAD。如果HEAD不存在(例如未出生的分支)并且没有给出,则显示所有分阶段的变化。 --staged是--cached的同义词。

答案 1 :(得分:3)

“暂存区”或“缓存”都是Git中大多数其他上下文中具有其他名称的同义词的同义词:索引

当您使用git add(或git rm)添加更改时,索引是分阶段的更改区域。这是您执行git commit时提交的一组更改。

所有三个名称通常都是同义词,但“{1}} --cached参数中很少使用”缓存“。