我在本地仓库中对我的一些文件进行了更改,然后我做了git add -A
,我认为这些文件在暂存区域添加了太多文件。如何从暂存区域中删除所有文件?
在我这样做之后,我将手动执行git add "filename"
。
答案 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
并在当前暂存文件上方为您显示该命令:
答案 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)
这很简单:
要检查当前目录中任何文件的当前状态,是否已暂存:
git status
暂存任何文件
git add .
用于当前目录中的所有文件
git add <filename>
用于特定文件
取消暂存文件:
git restore --staged <filename>
答案 11 :(得分:0)
您可以通过以下几种方式重置登台区域:
重置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 init
和git add
以及例程命令。它奏效了。
答案 14 :(得分:-5)
撤消暂存区域中已经存在的文件的最佳方法是 git reset --hard 这将使您暂存的文件恢复原状。现在请小心,这将删除已分阶段和未分阶段的更改。