我正在阅读《Pro Git》第二版这本书。
在第21页上,它写到:
git diff --staged
命令会比较你已经暂存的修改和你上一次提交的版本。
接着,在一页后面(没有解释 "cached" 是什么意思):
git diff --cached
可以查看你到目前为止已经暂存的内容。
此时我有些迷惑了,暂存和缓存之间有什么区别?
我正在阅读《Pro Git》第二版这本书。
在第21页上,它写到:
git diff --staged
命令会比较你已经暂存的修改和你上一次提交的版本。
接着,在一页后面(没有解释 "cached" 是什么意思):
git diff --cached
可以查看你到目前为止已经暂存的内容。
此时我有些迷惑了,暂存和缓存之间有什么区别?
git add
(或git rm
)添加更改时进行“暂存”的区域。当你执行git commit
时,它将提交这些更改的集合。git diff
的--cached
参数之外使用,“暂存区”、“缓存区”和“索引”通常可以互换使用。--cached
参数也适用于 git rm
、git diff-index
,以及其他一些命令。更加友好的 --staged
同义词并不是所有地方都可用,这可能会增加混淆。 - Ryan Feeley
--cached
比--staged
更早;后者是为了与“暂存区”这个术语保持一致而添加的。 - jub0bs