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

时间:2013-11-01 16:03:46

标签: git

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

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

15 个答案:

答案 0 :(得分:500)

您可以使用

取消索引中的文件
git reset HEAD -- path/to/file

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

git reset HEAD -- .

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

答案 1 :(得分:229)

使用

git reset

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

答案 2 :(得分:85)

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

git rm --cached -r .

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

答案 3 :(得分:28)

您可以使用

git reset HEAD

然后使用

添加所需的特定文件
git add [directory/]filename

答案 4 :(得分:9)

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

git restore --staged <individual_file>

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

git restore --staged .

在将文件添加到暂存区后,在您的 git bash 终端中,您可以运行 git status 并在当前暂存文件上方为您显示该命令: enter image description here

答案 5 :(得分:5)

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

的操作

注意: git reset相当于执行此操作的git reset --mixed

  

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

答案 6 :(得分:4)

要从登台区域删除所有文件,请使用-
git reset
要删除特定文件,请使用-
git reset "File path"

答案 7 :(得分:4)

如果将不需要的文件添加到暂存区但尚未提交,则只需进行简单的重置即可:

$ git reset HEAD file
# Or everything
$ git reset HEAD .

要仅删除当前工作目录中未暂存的更改,请使用:

git checkout -- .

答案 8 :(得分:1)

现在v2.24.0提示

git restore --staged .

取消暂存文件。

答案 9 :(得分:1)

使用

git reset HEAD

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

答案 10 :(得分:1)

这很简单:

  1. 要检查当前目录中任何文件的当前状态,是否已暂存:

    git status

  2. 暂存任何文件

    git add .用于当前目录中的所有文件

    git add <filename>用于特定文件

  3. 取消暂存文件:

    git restore --staged <filename>

答案 11 :(得分: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 
    

答案 12 :(得分:0)

使用“ git reset HEAD <file>...”取消提交文件

ex:取消暂存所有文件

git reset HEAD .

取消暂存一个文件

git reset HEAD nameFile.txt

答案 13 :(得分:-2)

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

答案 14 :(得分:-5)

撤消暂存区域中已经存在的文件的最佳方法是 git reset --hard 这将使您暂存的文件恢复原状。现在请小心,这将删除已分阶段和未分阶段的更改。