如何从git临时区域中删除文件?

问题描述 投票:365回答:7

我在我的本地仓库中对我的一些文件进行了更改,然后我做了git add -A,我认为在登台区域添加了太多文件。如何从暂存区域删除所有文件?

在我这样做之后,我将手动做git add "filename"

git
7个回答
526
投票

您可以使用索引从索引中取消暂存文件

git reset HEAD -- path/to/file

就像git add一样,您可以通过目录等递归取消暂存文件,因此要立即取消暂存所有内容,请从存储库的根目录运行:

git reset HEAD -- .

此外,为了将来参考,git status的输出将告诉您运行将文件从一个状态移动到另一个状态所需的命令。


243
投票

使用

git reset

取消暂存所有暂存的文件。


86
投票

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

git rm --cached -r .

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


28
投票

你可以用

git reset HEAD

然后添加所需的特定文件

git add [directory/]filename

5
投票

如其他答案中所述,您应该使用git reset。这将取消git add -A的行动。

注意:git reset相当于git reset --mixed这样做

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


0
投票

您可以通过以下几种方式重置暂存区域:

  1. 重置HEAD并添加所有必要的文件以再次签入,如下所示: git reset HEAD ---> removes all files from the staging area git add <files, that are required to be committed> git commit -m "<commit message>" git push

-3
投票

我尝试了所有这些方法,但没有一个对我有效。我使用rm -rf .git从本地存储库中删除了.git文件,然后再次执行git initgit add以及例程命令。有效。

© www.soinside.com 2019 - 2024. All rights reserved.