如何撤销git add移除暂存区所有文件?关于git reset的疑问
撤销暂存区文件的正确操作,以及你对git reset的误解澄清
一、移除暂存区所有错误文件的方法
如果只是想清空暂存区(工作区的错误文件可保留后手动删除),直接执行:
git reset
这个命令会把暂存区的所有内容重置为你最后一次正确提交的状态,完全不会影响你之前已提交的代码。
要是想一步到位,连工作区的错误文件也一起删掉(你提到删除也无妨),可以用:
git reset --hard
它会同时把暂存区和工作区重置到最后一次提交的状态,错误文件会从暂存区和工作区同时消失。
二、你对git reset的误解点
你之前认为git reset只对已提交的更改生效,其实这个命令的行为由参数决定:
- 默认不带参数时(等价于
git reset --mixed):仅操作暂存区,让暂存区和当前HEAD(最后一次提交)保持一致,不会移动HEAD指针,也不会修改已提交的历史记录。 - 只有当你指定旧提交版本(比如
git reset HEAD~1)时,才会移动HEAD指针回到之前的提交,这时候才会改动提交历史,但这和你当前的场景完全不相关。
简言之:你现在没有提交任何新内容,用git reset只会处理暂存区,碰不到你之前的正确提交,放心执行就行。
内容的提问来源于stack exchange,提问作者lilnoob
相关产品推荐
相关产品推荐

