git add 的一点说明

git add --cached

这里 --cached是什么意思呢?要解释清楚这个问题,我们必须先了解一个文件在git中的状态。

【commit】----【stage】-----【checkout】

一个文件处于【checkout】状态,如果1. 新建一个文件,或者2. 编辑了一个已经被git管理的文件

【checkout】状态的文件上执行 git add,那么文件进入【stage】状态

执行 git commit, 当前工作目录中的所有【stage】状态的文件组成一个commit节点,加入到git repo里。这些文件进入【commit】状态。

这里需要特殊理解的就是 git add 并不是仅仅把新创建的文件让交给git管理,而且还包括告诉git 哪些文件当前的版本可以进入【stage】状态,准备被提交。

现在用一个例子解释 --cached的意义:

 

diff 比较的是stage和commit的差异,--cache比较的是checkout和stage的差异。

因此,可以将cached理解为git为文件做的cach

 

posted @ 2013-07-04 14:53  不以为然的豆瓣  阅读(2339)  评论(0编辑  收藏  举报