缓存和“删除”状态
我想知道为什么当我这样做时:
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