1、 回退
$ git reset HEAD^ //回到上一个版本,保留源码,回退commit和index信息
$ git reset --hard b7057a9 //彻底回退到某个版本,本地的源码也会变为上一个版本的内容
2、恢复
$ git reflog
b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit
$ git reset --hard 98abc5a