git操作常用场景描述:通过git rm filename误操作, 将文件从暂存区和工作区中都删除了,还没有git commit -m "..."如何恢复文件?此时版本库还有已删除的文件。

image-20211025110859757

ps: 绿色为已添加至暂存区stage,红色为还在工作区working directory.

1.查看日志

#找到删除文件前的提交的哈希值
git log
commit dccaa31f07a529644bc9e64796e7698db212d0e7

2.回退版本库文件至暂存区

# machugop为已删除的文件
git reset dccaa31 machugop

image-20211025111218153

3.暂存区恢复至工作区

git checkout machugop

总结:始终牢记git的流程,提交从工作区→暂存区→版本库,那么回退,找回文件时,就是从版本库→暂存区→工作区。当步子迈得太大时,请谨慎。