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