Git学习-版本回退
2017-11-15 11:39
281 查看
查看历史版本
我们可能对某一个文件提交过很多版本,我们想查看所有的历史版本,可以通过如下代码进行查看。git log
执行后,我们能够看到所有的文件所有提交过的历史版本。所有版本按照时间倒序列出,从输出结果能够看到。该仓库中提交过两个版本,其中版本1写了一个readme的文件,版本2在文末添加了GPL。我们还可以通过参数将输出结果显示更简化:
git log --pretty=oneline
在输出结果1中,Head表示的是最新的版本。
回退版本
在查看了所有的历史版本后,我们可以回退到任何一个版本。git reset --hard HEAD^
其中HEAD^表示的是回退到当前版本的前一个版本,同理,HEAD^^表示回退到当前版本的前两个版本,也可以使用HEAD~2表示HEAD^^.
通过结果,我们可以看到版本已经回退到GPL那个版本。
实际上,版本控制系统对版本仓库维护一个单向的链表,该链表维护了所有的历史版本。而HEAD则是一个指向最新版本的指针,reset命令则是修改了HEAD指针所指向的版本节点。
当然,当回退到过去的历史版本后,我们后悔对于这项修改,我们仍然可以恢复到最新的版本,只要我们记得commit id。例如在第一张图片中最新版本的id是67792b…,我们只需要指定前几位即可。
可以看到,仓库版本已经回退到上一个版本。而这种情况我们是通过前文输出的结果确定的id号。而如果电脑重启,我们仍然能够了解到id号。
git reflog
该命令会保存我们对于该版本仓库的所有提交命令。
从图片中能够看到所有的提交命令,便可以执行上面的命令恢复到最新版本。
相关文章推荐
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- Git学习笔记二(版本回退、工作区和暂存区、撤销修改、删除文件)
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- 浅入Git学习③--Git操作之版本回退
- git 学习二之版本回退
- Git学习(三)远程仓库版本回退方法
- GIT学习日记二:Git版本回退
- GIT仓库学习--本地、远程仓库版本回退
- git学习之旅(四)——回退版本
- git基础学习(三):版本回退 git reset --hard HEAD^(或者是commit id的前几位)和git reflog
- git学习之旅(四)——回退版本
- 2016/01/12开始学习git:版本如何回退
- Git学习与使用2-版本库创建修改回退
- git学习笔记之版本回退
- Git学习笔记(2)——版本的回退,和暂存区的理解
- Git学习笔记(三)---版本回退
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- Git学习笔记(几个常用的命令 及 版本回退)
- Git学习笔记 chapter02--版本回退
- 跟着廖雪峰的git教程学习(2)时光机穿梭(一)版本回退