首页 > 解决方案 > 如何在 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

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

我还尝试使用 SourceTree 取消暂存删除:

源树视图

但这也行不通。

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

标签: bashgitgit-bash

解决方案


我能够通过单击stage all然后unstage all再次在 SourceTree 中解决我的问题。删除现在消失了。


推荐阅读