撤销 git add --all

104

我犯了一个错误,输入了git add -all命令,现在所有文件都被添加了。我没有执行commitpush。如何撤销我的操作?


4
你尝试过 git reset HEAD 吗? - karthikr
这不是一个重复的操作,因为明确指出了这是撤销 git add -all 的命令。有很多关于撤销 git add 的资源,但是对于 -all 选项的资源非常少。 - KansaiRobot
2个回答

122

这个问题已经被回答了多次:

你可以使用git reset。这将“取消暂存”你上次提交后添加的所有文件。

如果你只想取消暂存某些文件,请使用git reset -- <file 1> <file 2> <file n>

另外,也可以使用git reset -p来取消暂存部分文件的更改。

参见


5
如果一个问题已经被回答了多次,正确的做法是投票将其标记为重复,而不是回答这个问题。 - Madara's Ghost
@SecondRikudo 这就是我所做的,看看我在顶部的评论。我发布的原因是提供不止一个答案链接。 - Simone Carletti
4
强调“不回答问题”部分。核心思想是,如果有人在谷歌上搜索这个问题,他们会找到最佳答案的规范版本,而不是被问过很多次的重复问题。通过回答这些问题,你为它们增加了更多的曝光度。 - Madara's Ghost
我执行了重置操作,它显示已经取消暂存,但是它们仍然在索引中,因为如果我运行 git status 命令,它仍然会将它们标记为已修改。如何完全消除本地添加和提交的更改? - PositiveGuy
我搜索了,但找不到很多答案。 - KansaiRobot

14

要重置特定文件,您可以使用: git reset --<file_a><file_b> 或者要重置所有更改,请使用git reset


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接