情况:我有一个Git存储库,索引中已经有文件。我修改了几个文件,打开Git,用“Git add”把这些文件添加到我的暂存区。
问:如何从暂存区删除其中一个文件,但不从索引中删除它,或撤消对文件本身的更改?
情况:我有一个Git存储库,索引中已经有文件。我修改了几个文件,打开Git,用“Git add”把这些文件添加到我的暂存区。
问:如何从暂存区删除其中一个文件,但不从索引中删除它,或撤消对文件本身的更改?
当前回答
所以,对Tim Henigan的回答做一个小小的调整:你需要在文件名之前使用——。它看起来是这样的:
git reset HEAD -- <file>
其他回答
当你执行git status时,git会告诉你如何取消运行:
Changes to be committed: (use "git reset HEAD <file>..." to unstage).
所以git重置HEAD <文件>为我工作,这些变化没有被触及。
git reset filename.txt
如果在filename.txt中有修改,则是您错误地将其添加到stage,并且希望从staging中删除该文件,但又不想丢失所做的更改。
如果你想删除遵循某种模式的文件,并且你正在使用git rm——cached,你也可以使用file-glob模式。
在这里看到的。
所以,对Tim Henigan的回答做一个小小的调整:你需要在文件名之前使用——。它看起来是这样的:
git reset HEAD -- <file>
您需要在文件的目录中,然后在终端中输入以下内容
git checkout -- <file>