本质上来讲,删除也是一种修改,只不过是修改的一种特例,那么前面所有的修改适用的命令和场景删除也是适用的
1. 删除之后未使用add添加到暂存区
如上图所示,首先查看当前仓库的文件,可以看到最开始是存在hello.py
文件的,使用rm hello.py
命令删除之后,就看不到文件了,此时可以使用git checkout -- hello.py
命令进行恢复,可以看到最后成功恢复。
2. 删除之后已经add添加到暂存区
如上图所示,首先查看当前仓库的文件,可以看到最开始是存在hello.py
文件的,使用rm hello.py
命令删除之后,就看不到文件了,此时若将本次修改add
到了暂存区,需要两步走将其恢复到工作区:
git restore --staged hello.py
git checkout -- hello.py
可以看到最后成功恢复。
3. 删除之后已经commit添加到了版本库中
此时只能使用版本回退
git reset --hard HEAD^