查看历史记录的方式
git log --pretty=oneline 用一行去显示历史记录
git log --oneline
git reflog 会显示HEAD@{..}
git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
版本前进后退
1.基于索引值操作(推荐)
git reset --hard hash值
2.基于~符号
git reset --hard HEAD~3 后退三步
3.基于^符号 只能往后,不能往前
git reset --hard HEAD^ 往回退一步
git reset --hard HEAD^^
git reset --hard/soft/mixed
hard:在本地库移动HEAD指针,同时重置暂存区,同时重置工作区
mixed:在本地库移动HEAD指针,同时重置暂存区
soft:仅仅在本地库移动HEAD指针。
我们先来理解下Git 工作区、暂存区和版本库概念
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
git status 查看暂存区
git mixed/git soft 都不会修改本地工作区的文件,你的提交还会保存在工作区
让head重新指向master
git reset --hard master