回退到历史的某一版本
Git 中 HEAD 表示:
- HEAD表示当前版本,也就是最新的提交的 commit
- 上一个版本:HEAD^
- 上上一个版本就:HEAD^^
- 上 100 个版本:HEAD~100
回退到历史版本有两种姿势:
使用 HEAD
$ git reset --hard HEAD^使用 commit 编号
- 通过 git log 拿到 commit 编号(前 6 位应该就够了)
$ git reset --hard 3628164
恢复到较新的某一版本
回退到旧版本后,在git log就看不到之前较新版的 commit 了
git log 是当你回退到某个版本,此版本之后的记录,就自动抹去了
git reflog 是你提交的完整的命令历史,回退到某个版本,仍然可以查到位于此版本之后的版本号。
这时如果想回到较新的某一版本,可以用下面的姿势:
git reflog查看你做过的每一次命令, 并获取「较新某一版本」的 commit 编号fb1bcc7hanmeimeideMacBook-Pro:laoma hanmeimei$ git reflog 35b6e22 HEAD@{0}: reset: moving to HEAD^ fb1bcc7 HEAD@{1}: commit: add hanmeimei 35b6e22 HEAD@{2}: commit (initial): init laomareset 到想要去往的 commit 版本
$ git reset --hard fb1bcc7