分段和缓存有什么区别?

Ort*_*kni 9 git

我正在阅读第二版Pro Git一书.

它说,在第21页:

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

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

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

现在我有点迷茫.分段和缓存有什么区别?

Dav*_*sch 5

他们是同义词; 来自Git文档:

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


pok*_*oke 3

\xe2\x80\x9cstaging area\xe2\x80\x9d 或 \xe2\x80\x9ccache\xe2\x80\x9d 都是同一事物的同义词,在 Git 的大多数其他上下文中都有另一个名称:索引

\n\n

索引是使用(或)添加更改时暂存更改的区域。它\xe2\x80\x99 是您执行此操作时提交的一组更改。git addgit rmgit commit

\n\n

所有三个名称通常同义使用,尽管 \xe2\x80\x9ccache\xe2\x80\x9d 很少在--cached中的参数之外使用git diff

\n