撤销文件修改
git checkout -- <file>:版本内撤销文件修改- 分3种情况讨论
- 文件目前仅在工作区,不在暂存区,该命令将使文件退回目前
HEAD指针指向的版本对应的文件状态 - 文件已通过
git add <file>添加到暂存区,该命令将使文件退回其刚刚添加到暂存区后的状态 - 若文件已通过
git commit -m <message>提交为一个版本,则必须通过git reset --hard <commit id>[[Git学习笔记#版本回退|回退]]到指定版本
- 文件目前仅在工作区,不在暂存区,该命令将使文件退回目前
git reset HEAD <file>:将已存在于暂存区的文件回退到工作区,配合git checkout -- <file>可用来将已经提交到暂存区后的文件回退到目前HEAD指针指向的版本对应的文件初始状态- 未提交文件的回退操作及版本进退操作总结如下

文件删除与误删恢复
文件删除
- 删除工作区的文件:直接在文件系统中删除即可 (可使用
rm <file>命令) - 删除当前版本库中的文件
- 在文件系统中删除文件
- 使用
git rm <file>将删除提交到暂存区 - 使用
git commit -m <message>提交删除后的版本到版本库
误删恢复
- 误删文件既不在任何版本库中,也不在暂存区中:无法恢复!
- 误删文件不在任何版本库中,但在暂存区:
git restore <file> - 误删文件已经提交为新的版本库:使用版本回退方法
本文详细介绍了如何在Git中撤销文件修改,包括不同阶段的文件回退操作。同时,针对文件删除与误删恢复提供了步骤,如利用Git命令进行误删文件的恢复,并强调了未提交文件在暂存区和版本库外无法恢复的情况。
3447

被折叠的 条评论
为什么被折叠?



