如何在git中取消登台已删除的文件?

问题描述

我确实做了git reset HEAD -- "*user*"(要从暂存区域中删除所有“用户文件),但是现在git某种程度上认为我想删除一个我什至没有碰过的完全不同的文件(该文件也仍在我的文件夹中)。 git status现在向我显示

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        deleted:    webpack.config.js

我不想删除文件。所以我想从阶段以及从索引中删除删除

我尝试了以下所有在StackOverflow上找到的以下命令,但这些命令均无效...(我当然在每个命令后都检查了git status,但删除仍然存在)

git restore --staged webpack.config.js
git restore webpack.config.js

git reset HEAD webpack.config.js
git reset -- webpack.config.js

git checkout HEAD -- webpack.config.js
git checkout HEAD webpack.config.js 
git checkout -- webpack.config.js

git add webpack.config.js
git rm --cached webpack.config.js

有一次,我还尝试了git checkout .,它删除了我所有未暂存的更改...(我可以通过对IDE中的每个文件发出undo命令来将更改恢复。)

我还尝试通过SourceTree取消删除操作:

SourceTree view

但这也不起作用。

那么从暂存区中删除文件(但保留更改)的正确方法是什么?

解决方法

我可以通过在源树中单击stage all然后再次单击unstage all来解决我的问题。删除操作现在消失了。

,

序列:

git checkout -- webpack.config.js
git add webpack.config.js

应该足够了