1.撤销工作区未暂存的修改(文件暂存后再次修改,撤销修改至第一次暂存状态也可使用该命令)
git checkout -- file
2.撤销暂存操作
git reset HEAD file
3.撤销提交操作
git reset --hard HEAD^ # hard参数撤销commit操作且本地源码回滚至上一版本(回退到上上一版本使用HEAD^^)
git reset --soft HEAD^ # soft参数仅撤销commit操作,保留本地源码
4.撤销提交后再次恢复原最新版本
(1)查看所有提交历史,该日志中包含原最新版本的版本id
git reflog
运行后如下图所示
上图信息中 HEAD代表当前版本,黄色字符串为版本ID(2)根据版本id回滚到上一最新版本
git reset --hard 上一最新版本ID
5.删除文件后未commit,恢复删除的文件
(1)删除文件
git rm -rf file
(2)撤销暂存
git reset HEAD file
(3)操作第1条撤销对工作区的修改
git checkout -- file