查看log
查看精简版本的log
git reflog
$ git reflog
e694c82 (HEAD -> master) HEAD@{0}: commit: 第二次提交
7f17fee HEAD@{1}: commit (initial): 我是第一次提交
查看详细git log
git log
$ git log
commit e694c822272ffc2773ce396abfe02fb26f8b9b5c (HEAD -> master)
Author: 张俊杰 <834116404@qq.com>
Date: Sun Dec 19 16:12:02 2021 +0800
第二次提交
commit 7f17fee658d8b92d337a6b3afed1619404eca315
Author: 张俊杰 <834116404@qq.com>
Date: Sun Dec 19 16:01:24 2021 +0800
我是第一次提交
root@ZJJ MINGW64 /f/projectDemo (master)
git版本重置
git reset —hard [要重置的版本号]
root@ZJJ MINGW64 /f/projectDemo (master)
$ git reflog # 查看日志
e694c82 (HEAD -> master) HEAD@{0}: commit: 第二次提交
7f17fee HEAD@{1}: commit (initial): 我是第一次提交
root@ZJJ MINGW64 /f/projectDemo (master)
$ git reset --hard 7f17fee # 重置到7f17fee版本
HEAD is now at 7f17fee 我是第一次提交
root@ZJJ MINGW64 /f/projectDemo (master)
$ git reflog
7f17fee (HEAD -> master) HEAD@{0}: reset: moving to 7f17fee # 版本穿越到了7f17fee版本
e694c82 HEAD@{1}: commit: 第二次提交
7f17fee (HEAD -> master) HEAD@{2}: commit (initial): 我是第一次提交
再查看你hello.txt ,你就会发现里面的内容已经回撤到第一次提交时候的内容了.,
查看你本地文件的引用版本号
你发现这个文件的内容是7f17fee 这个版本号的详细版本号,你就会发现你已经回撤到7f17fee版本成功了
接着重置回来
git reflog 找到你第二次提交的版本号为e694c82
然后 git reset —hard e694c82 ,重置到e694c82 版本
$ git reflog
7f17fee (HEAD -> master) HEAD@{0}: reset: moving to 7f17fee
e694c82 HEAD@{1}: commit: 第二次提交
7f17fee (HEAD -> master) HEAD@{2}: commit (initial): 我是第一次提交
root@ZJJ MINGW64 /f/projectDemo (master)
$ git reset --hard e694c82
HEAD is now at e694c82 第二次提交
root@ZJJ MINGW64 /f/projectDemo (master)
$ git status
On branch master
nothing to commit, working tree clean
root@ZJJ MINGW64 /f/projectDemo (master)
$ git reflog
e694c82 (HEAD -> master) HEAD@{0}: reset: moving to e694c82
7f17fee HEAD@{1}: reset: moving to 7f17fee
e694c82 (HEAD -> master) HEAD@{2}: commit: 第二次提交
7f17fee HEAD@{3}: commit (initial): 我是第一次提交
root@ZJJ MINGW64 /f/projectDemo (master)
然后你发现你 hello.txt文件的内容已经又变成了第二次提交时候的内容了,
然后你找到你仓库的这个文件,打开后发现里面的版本号已经是你第二次提交的时候的详细版本号了
就是e694c82 的详细版本号了.