我在本地 repo 中对我的一些文件进行了更改,然后我做git add -A
了我认为向暂存区添加了太多文件的操作。如何从暂存区删除所有文件?
完成后,我将手动执行git add "filename"
.
我在本地 repo 中对我的一些文件进行了更改,然后我做git add -A
了我认为向暂存区添加了太多文件的操作。如何从暂存区删除所有文件?
完成后,我将手动执行git add "filename"
.
您可以使用从索引中取消暂存文件
git reset HEAD -- path/to/file
就像 一样git add
,您可以通过目录等递归地取消暂存文件,因此要一次取消暂存所有内容,请从存储库的根目录运行:
git reset HEAD -- .
此外,为了将来参考, 的输出git status
将告诉您将文件从一种状态移动到另一种状态所需运行的命令。
利用
git reset
取消暂存所有暂存文件。
如果您已经提交了一堆不需要的文件,您可以取消暂存它们并告诉 git 将它们标记为已删除(而不实际删除它们)
git rm --cached -r .
--cached
告诉它从暂存和索引中删除路径而不删除文件本身并-r
递归地对目录进行操作。然后git add
,您可以跟踪任何要跟踪的文件。
现在在 v2.24.0 建议
git restore --staged .
取消暂存文件。
你可以使用
git reset HEAD
然后添加您想要的特定文件
git add [directory/]filename
要从暂存区中删除所有文件,请使用 -
git reset
要删除特定文件,请使用 -
git reset "File path"
这很简单:
要检查当前目录中任何文件的当前状态,是否已暂存:
git status
暂存任何文件:
git add .
对于当前目录中的所有文件
git add <filename>
对于特定文件
取消暂存文件:
git restore --staged <filename>
如其他答案所述,您应该使用git reset
. 这将撤消git add -A
.
注意: git reset
相当于git reset --mixed
which does this
重置索引但不重置工作树(即保留更改的文件但未标记提交)并报告尚未更新的内容。这是默认操作。[混帐重置]
如果不需要的文件被添加到暂存区域但尚未提交,那么简单的重置将完成这项工作:
$ git reset HEAD file
# Or everything
$ git reset HEAD .
要仅删除当前工作目录中未暂存的更改,请使用:
git checkout -- .
利用
git reset HEAD
这将从暂存区中删除所有文件
使用“ git reset HEAD <file>...
”取消暂存文件
例如:取消暂存所有文件
git reset HEAD .
取消暂存一个文件
git reset HEAD nameFile.txt
您可以通过以下几种方式重置暂存区域:
重置 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
我尝试了所有这些方法,但没有一个对我有用。我使用本地存储库的形式删除了 .git 文件rm -rf .git
,然后再次执行git init
和git add
常规命令。有效。