情况一:checkout
当你修改了某个文件,未提交暂存区,回退本次修改
git checkout -- file
情况三:reset
当你的代码,已提交到暂存区,还未提交到远程仓库
- git log 查看提交日志
#启动--pretty=oneline参数表示只显示hash值和提示
git log --pretty=oneline
- git reset执行回退
#当前commit节点回退一个commit
git reset --hard HEAD^
#当前commit节点回退两个commit
git reset --hard HEAD^^
#当前commit节点回退10个commit,N个写N
git reset --hard HEAD~10
#当前commit节点回退到具体某个commit
git reset --hard 64d597b
Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向指定的commit节点
- git reflog查看工作区的操作记录
git reflog