Git版本回退操作
Posted yhq1913
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git版本回退操作相关的知识,希望对你有一定的参考价值。
【5】Git版本回退操作
之前给大家举例说兜里有五块钱那个故事,我买馒头花了2元,买花卷花了1元,买辣条花了5毛,还剩1.5元,几天后我会想一下,昂,我都买了这个,这个,这个所以花了这些钱,那我得脑子记这点账还是没问题的,如果要是十万块钱你花省1.5买的都是杂七杂八的小零食,几天后你在回想一下试试,想起来不太现实吧,要是能想起来你就赶快去参加最强大脑吧!这记忆力很快就会有人来找你,别做技术了,那想不起来怎么办呢,git可以帮我们想起来,不说花钱,就说咱们这几天操作的这个readme.txt文件多少次你还记得吗,如果不记得,没关系,git都帮我们记着呢,我们一起来查看一下,使用 git log命令,我这里应该是比大家多了一步,这个没关系,我自己操作的
git log 命令会显示最近的提交记录,如果看着眼花缭乱,我们也可是使用 在后面加上 --pretty=oneline
你看到的一大长串秘钥似的 f285....5ca 这些是commit_id (版本号),和svn不同,svn是递增的1,2,3,4;因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。
接下来我们做一个回退操作,回退使用的命令是reset 在这个命令后面跟着的是HEAD也就是当前最近的版本号 f285....5ca ,如果要上个版本就是HEAD^,上上个版本就是HEAD^^,以此类推,上100个版本就写100个^,回退的版本多了这样显然不是很方便,那我们就可以使用commit_id来指定回退版本,下面我来演示一下会退到上一个版本
这样版本就成功回退了,你也可以看到文件里面的内容已经变成了当初的那个版本,这个时候你在输入git log,你会发现日志不一样了,仿佛你从21世纪回到了18世纪回不来了
不用方,怎么办呢,如果你窗口还没关,你往上翻,找到之前使用git log打印的日志,会有commit_id,我们使用commit_id在还原回去,如下图操作
然后看一下文件内容,成功还原回去了,虚惊一场,大家看我的commit_id并没有写全,因为太长了你写前几位就行了,git会自己去找,但是你别就写个一两位,一旦有一样的git也不知道还原到哪个版本,但是还有一种可能,你刚刚关闭过窗口,历史记录没了,那怎么办?这里就有出现了一个新的命令 git reflog 第一这个命令显示的比较简化,简化版本(包括commit_id),第二显示的版本是git全部版本,如下图,所以说大家在日常使用的时候还是建议大家使用git reflog查看日志
看到这个,你就可以在git版本中随便穿梭了!
小结
以上是关于Git版本回退操作的主要内容,如果未能解决你的问题,请参考以下文章