缓存和“删除”状态
我想知道为什么当我这样做时:
git add <file>
之后,我做了:
git rm --cached <file>
该文件在阶段área保持删除状态。
这里的例子: 
我只是在寻找关于文件上'已删除'状态的解释。
谢谢
尝试一个git reset HEAD yourFile ,而不是一个git rm --cached 。
混合重置会将您的文件从索引中删除,而无需将其从工作树中移除。
请参阅“在提交之前撤销' git add '”。
在你的情况下, git stash需要在git reset之前,然后git stash pop会在复位后恢复正在进行的更改。
关于git rm --cached之后的' deleted '状态,该命令会在索引中注册该文件的删除,这就是为什么您会在下一次提交时将其记录为'deleted'的原因。
OP Ferpega坚持认为:
我问为什么删除的状态是有作为造成git rm --cached因为这个命令应该具有相同的行为比git reset HEAD <file> ,你可以在看git rm 。
那么,不, git rm与[ git reset][8] 。
两者都会影响指数,但是:
git rm )会在下一次提交时记录一个文件以便删除,因此“ deleted ”状态, git reset )会将HEAD复制到索引中,并将该索引重置为文件在HEAD中的内容。 您将该文件添加到索引/缓存(在屏幕截图中为绿色),并告诉您要删除该文件。 索引/缓存更改仅在提交完成时执行。
我想你可能把一个文件放在索引/缓存中,然后想删除它(所以它不会被提交)。
执行此操作的命令是在git status给出的消息中(右上方被圈出的deleted 。
git reset HEAD <filename>
链接地址: http://www.djcxy.com/p/6177.html
