git reset --hard HEAD^,就可以回退到上一个版本
HEAD^,代表了什么?
HEAD -> master -> commit(add methods for classes)
HEAD^,代表的是commit(add methods for classes)的上一个commit(add two files)
git reset --hard HEAD^,就是将仓库、暂存区、工作区,全部恢复到上一个commit(add two files)对应的状态
git reset --hard HEAD~5,退回到HEAD之前的倒数第5个commit的状态
git reset --hard d324644,指定一个commit的hash值,回退到很老的版本
git reset这个命令,可以任意穿梭到历史的任何一个版本上去

git reflog 有一个时光机,可以任意穿梭,回到过去,回到未来

git最核心的原理

三个区域:工作区、暂存区、仓库
提交历史:在仓库中,blob->tree->commit->master-HEAD,这套东西形成了git的数据结构