您的位置:首页 > 其它

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


该命令会保存我们对于该版本仓库的所有提交命令。



从图片中能够看到所有的提交命令,便可以执行上面的命令恢复到最新版本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: