已经执行了 git add 将文件放入暂存区,如何将其撤回到工作区?
要把已经 git add 到暂存区的文件撤回(取消暂存)到工作区,并且不丢失你的任何修改,你可以根据你的 Git 版本选择以下两种方法之一:
方法一:使用 git restore(推荐,Git 2.23+ 版本)
这是较新的 Git 版本中专门用来处理恢复操作的命令,语义最清晰:
撤回单个文件:
bashgit restore --staged <文件名>示例:
git restore --staged index.html撤回所有已暂存的文件:
bashgit restore --staged .
方法二:使用 git reset(经典方法,适用于所有 Git 版本)
如果你使用的是较老的 Git 版本,或者习惯了老命令:
撤回单个文件:
bashgit reset HEAD <文件名>示例:
git reset HEAD index.html撤回所有已暂存的文件:
bashgit reset HEAD
💡 重点提示
- 你的代码是安全的: 以上命令绝对不会删除或更改你文件里的代码内容,它们仅仅是改变了 Git 对这些文件的追踪状态(把它们从“将要提交的列表”中移出来)。
- 如何确认是否成功: 执行完上述命令后,你可以输入
git status。你会看到那些文件重新变回了红色,并显示在 "Changes not staged for commit"(未暂存的修改)或 "Untracked files"(未跟踪的文件)下面。