回溯文件版本
查看版本变化
自己会在Git版本库对同一文件进行多次修改,而Git同样提供了对文件版本的查看
//查看版本变化
$ git log
如图所示
只是想查看自己提交的版本号
//查看版本号
$ git log --pretty=oneline
如图所示
版本回溯
git之所以回溯的很快,是因为Git在内部有个指向当前版本的HEAD指针,如上图所示,当你回溯文件版本的时候,Git仅仅是把HEAD从指向你所指定的版本号,然后再更新你的工作区域。
1.回溯到上一个版本(windows 下 ^符号是cmd.exe的escape字符,在使用时要加“ ^”)
$ git reset --hard "HEAD^"
可以看到HEAD指针移到了7ce92开头的版本号上,这个时候打开工作区会发现,文件内容发生改变,变成上一版内容。进而成功实现版本回溯
2.定位到任何版本
//查看版本号(所有的)
$ git reflog
//定位到69f3开头的版本
$ git reset --hard 69f3
如图所示
通过git log可以看到HEAD已经指向69f3开头的版本号,而Git同样允许返回到当前最新版本
3.定位到最新版本
//定位到最新版本号
$ git reset --hard 75b3
//查看当前版本号
$ git log
如图所示
可以看到HEAD指针重新移到了75b3开头的版本号上,这个时候打开工作区会发现,文件内容发生改变,变回最新版的内容。