00:00
诶,下面我们看呢,执行版本前进后退操作的具体方式呢,有这么三种,一种是基于索引值进行操作,一种是基于异或符号,一种是基于波浪线符号,这三种呢,演示完了呢,大家也会发现基于索引值的方式呢,这个是最好的方式,哎,所以说呢,我们推荐呢,也推荐大家来使用这种方式,另外两种呢,我们虽然不推荐,但是呢,大家也捎带着看一看,这样别人操作的时候呢,你知道它是什么意思。好。怎么个基于索引值去操作呢?我们还是回到我们的命令行哈,我们继续来做一下。我们先用re log呢,把这个给调出来,那么大家想哈,我们刚才说了这个指针的事,我们现在这个指针指向哪的呢?哎,其实呢,它指向的是离我们最近的这条记录。我们不妨做这么个比方。好比呢,我们离我们最近的这条记录哈,是咱们当代。
01:01
如果我们让他往后往后后退一个版本呢,就相当于回到了民国,哎,再往后一个版本呢,回到了清朝,呃,再往后一个版本呢,回到了明朝,哎,再往后一个版本呢,回到了元朝,哎,再往后呢,回到了这个宋朝,哎,呃,再往前可能就是唐朝了是吧,或者是五代十国等等啊那。这个时候呢,我们就现在要做的事呢,因为我们现在没有这个,没有比我们更前的嘛,我们不能现在还不能往前走哈,我们现在只能往后退,诶那么我们先看看怎么往后退,那么我们说了基于索引去操作这个版本哈,基于索引去操作,那么呃,我们要操作的呢,就是这个值,诶根据这个值,哎,告诉getate我们要去哪。这个命令呢,非常简单啊,就叫做这个get reite,然后呢,杠杠hard带上这个参数就可以了。我们后边呢,就带上你这个索引值,比如说呢,咱们想去这个位置。
02:05
哎,这个相当于是哪呀,呃,是不是宋朝,宋元明啊,不对哈,这个是呃民国清朝,然后这个是呃明朝,假如说我们现在想去明朝。把这个索引池给它粘过来啊,我们这个时候呢,一回车就行。这个索引值,那我们说哈,我们通过前面的讲解呢,大家其实也知道哈,他现在我们拿过来这个呢,只是索引值的一部分,它并不是一个完整的索引值,完整的索引值那个好长的是吧,我们没有必要把那完整的索引值都拿过来,就拿这一小部分就行了。诶,为什么拿着一小部分就行呢?因为你想哈,它靠这一小部分呢,就已经能够唯一的确定一个索引值,而这个索引值呢,又能够唯一的确定一条记录啊,所以说呢,有这一小段呢就够了。呃,我们在具体执行这个命令之前,我们还是先看一下哈,我们当前这个文件的状态是什么,我看一下我们这个good.text。
03:06
大家看我们最新的一行呢,是这个Q这一行。诶,这就是我们最新的这个提交的这条记录哈,是插入Q这一行,在最后它的上一个版本呢,是这个插入P这一行,再上一行,再上一个版本呢,是插入O这一行,再上一个版本呢,是插入N这一行啊再上一个版本呢,是插入M这一行等等等等,以此类推,那么假设呢,咱们要回到这个明朝,哎,这个时候呢,它应该是最新的一行呢,应该是这个N。他应该是有这些内容,我们下边这些呢,应该是没有才对,诶咱们提前呢,先做一个预判,一会看看我们操作完了以后哈,看看我们这个说的对不对。哎,我们这个得,咱们得对照着这个历史记录来说哈,我们说了这个命令是。Get re,两个横线,也就是两个减号啊,这个hard,然后呢,带上我们这个。
04:02
索引值的这个一部分,诶,然后粘贴到这回车走你。他告诉我们呢,Head is now at这个位置是吧,哎,就说这个head这个指针呢,现在指向的是这个位置,相当于呢,我们在这哈,把这个氦的这个指针呢,诶往下移动了,移动到这儿了啊,你看我们看这个穿越片是吧,穿越句这个一下子穿越到唐朝了,穿越到明朝了是吧,我们现在也穿越了。后边这是啥呢?诶,这不就是咱们当时所加的这个日志的这个信息吗。然后呢,我们再来看一看我们这个文件,这个文件的内容呢。没错,就是我们说的,呃,到明朝的时候呢,它最新的一个最新的一行呢,是插入这个N,哎,后边呢,后来插入的他还没有。好,那么你说这个我们还能继续这个往后退吗?还能往回这个穿越吗?我们看看啊,Get reite杠,Hard,我们现在是在哪呢?诶,大家看到这个head哈,现在指向的是我们这一条记录。
05:08
那么比如说呢,我们再往后,比如说呢,我们往后呢,到这哈,这个4217184,它呢,最新的一行呢,应该是这个G的这一行。我们把这个呢。对应好了啊,把这个呢选中,然后呢,这个粘贴,诶捎带说一句哈,这里边你选中了它就复制了过来,直接就粘贴就好啊,选中了就复制了,不用再去做别的回车走你。诶,你看head is at这个位置是吧?Insert,呃,这个又回去了,我们再看一下这个文件的内容,没错,最新的一行呢,是这个JJJ的这一行啊,最新的一行就是它。好了。这是我们往后退哈,咱们做这两个操作呢就足够了,你要是想退到最最初的这个版本啊,盘古开天辟地那时候也是没问题的,这个大家可以自己去试一试哈,那么我们说完了往后退哈,咱们怎么再往前呢?哎,你看我们现在呢,现在在这个地方哈。
06:10
呃,这是哪个朝代来着,明朝的前面咱们就不说了哈,这个这个这是这是这个,哎,某一个朝代,哎,那么我们现在呢,想往前走了,哎,我们去穿越回去,过去呢,我们玩一玩,开开心心呢,就是玩一下就可以了,我们想往前走,比如说呢,我们想回到这个位置吧。哎,刚才是往后退哈,现在往前走,我想走到这,那么还是使用我们这个giar reite杠刚hard,哎,然后呢,粘贴过来。周尼,诶你看我们又回到了这个位置了是吧,这个时候呢,它是以这个LL作为这个最新的一行,K诶猫一眼我们这个文件,那么你看呢,刚才哈是我们这这这个这这这这一行,我们又前进到了这个LL这一行,这个这个这个状态。
07:02
从我们从我们这个状态哈,我们又前进到了这个状态,诶这个就往前,相当于按我们文件这来说呢,相当于从版本上来说呢,往前走了两步。啊,这就是我们这种方式哈,诶前进后退版本里边的第一种方式的这个前进和后退。哎,其实呢,呃,我们也操作的时候呢,大家你也不用去考虑是前进还是后退的事,总之呢,只要你知道你想去的这个版本是什么状态,你想去哪个版本,就用这个索引值去引用就好了,对吧?哎,不需要你去做什么别的操作啊,所以说呢,其实这个不用去考虑前进还是后退,我们把这个命令去记一下哈,杠杠reet,杠杠hard,后边呢,就带上你这个索引值。哎,这个当然了,其实是一个局部的一个值,我们拿一个命令呢过来作为一个例子放在这儿,大家好去参考。
08:04
选中就是复制好了啊,这是我们基于索引值前进后退版本的一个命令的演示。
我来说两句