我在我的本地repo中修改了一些文件,然后我做了git add -A,我认为这给暂存区添加了太多的文件。如何从暂存区删除所有文件?

之后,手动执行gitaddfilename。


当前回答

如果您已经提交了一堆不需要的文件,您可以取消它们,并告诉git将它们标记为已删除(而不是实际删除它们)

git rm --cached -r .

——cached告诉它从staging和索引中删除路径,而不删除文件本身,-r对目录进行递归操作。然后,您可以git添加任何您想要跟踪的文件。

其他回答

use

git reset HEAD

这将从暂存区删除所有文件

非常简单的答案

下面的git命令将从暂存区删除所有文件

git restore --staged .

或者你可以

git restore -S .

注意:从项目根目录运行这些命令,不要忘记。(点)在最后!

正如在其他回答中提到的,您应该使用git重置。这将撤销git add -A的操作。

注意:git reset等价于git reset -mixed

重置索引,但不重置工作树(即,保存更改的文件,但不标记为提交),并报告未更新的内容。这是默认操作。[git重置]

我尝试了所有这些方法,但没有一个对我有效。我使用rm -rf .git从本地存储库中删除了.git文件,然后再次执行git初始化和git添加和例程命令。它工作。

使用以下命令从暂存区删除特定文件:

git restore --staged <individual_file>

或者使用以下命令删除当前暂存的所有文件:

git restore --staged .

在你的git bash终端中,在将文件添加到暂存区域后,你可以运行git状态,命令会显示在当前暂存文件的上方: