00:00
来大家看这是getate官网的网址,然后这是我们getate的logo,那么getate logo的话,上面画的这图案是什么意思呢?其实你看这个上面到这,然后分叉过来,这是不是就是分支啊,哎,Getate呢,它把分支这个特性呢,都画在它的logo上面了,哎,就证明呢这个get哈,他认为这个分支呢,是他非常引以为傲的一个特性,其实呢。Kate的优势不仅仅是这些啊,在这我们也罗列了,罗列了几项,大家你看首先呢,我们看这一条,这个K呢,因为是一个分布式的版本控制工具,那他在本地呢,是有本地的版本库的,这个时候呢,我们在本地呢,就能够完成版本的控制,不需要联网,那你拿这一条跟传统的。集中式版本控制系统,你要去对比的话,这个版本集中式版本控制系统它是完全是做不到的,你比如说SN来说,你要是断网了,跟SN服务器连不上,你根本没办法做任何的版本控制的操作。
01:05
诶,但是get的就不一样啊,我本地呢,就保存了我完整的版本的历史,所以说很大一部分操作在本地就可以完成了,这是一个啊,然后呢,下一条呢,叫保证,呃,完整性保证,这个是什么意思呢?他会对每每一次提交的数据呢,进行哈希的操作啊,那这个哈希呢,我们后边也会专门会给大家去介绍这样一个算法哈,因为这个跟我这个哈希呢,跟我们去理解它分支的管理有很大的关系,我们把一个数据呢,输入给哈希的函数,哈希的函数呢,给我们一个输出的结果,那么同一同一个数据。呃,不管进行哈希运算多少次,他得到的结果呢,都是不变的,反之呢,你输入的数据稍微变一点,那我输出的数据呢,可能就会变很多啊,这就是哈希它这个非常神奇的这个地方,而且不管你输入的数据是非常庞大的还是很小的,我输出的结果呢,长度是固定的。
02:08
啊,所以说这个哈希的算法呢,也非常的呃神奇,也非常的优雅啊,那么就是这个,因为它每一个操作呢,都会有一个哈希值同时呢去保存,所以说呢,我们只要哈希值这个不变,就代表呢,他以前保存的历史的数据呢,它都是不变的,诶所以这个时候呢,我们呃,每一次呢,你去做一些操作哈,比如说你从get版本库里边取出来文件的数据,那么你就可以拿这个哈希呢,对这个文件进行验证啊,那你对这个文件呢,你你拿到的文件去做哈希和和人家版本库里边的哈希值去比较,只要一致的说明这个文件的内容呢,就没问题啊,所以这是一个非常严谨的,非常有效的一个完整性的一个保证啊,就是避免文件呢,在传输的过程当中呢,有丢失啊,有损坏呀,诶避免这样的问题,诶这也是一个非常给力的一个特性,呃,下一个呢,是在GI的版本库里边哈,它会尽可能去添加数据,而不是。
03:08
删除或者修改数据,那什么意思呢?你想想这个版本库里边保存的数据,如果有删除或者是修改的,那么你删了的你是不是就找不回来了,你修改了的话,那你改之前那个也找不回来了,那get这样去设计呢,尽可能去做添加的操作,那么就很少有不可逆的操作。啊就是呃,我们说你每一个版本呢,每一个版本就像串珠一样是吧,这个在GI里边去保存,是这样一串,那他你每有每提交一个新的,你每做一次新的提交,每次提交这个新的数据,他都是保存一个新的版本,他不会把旧的版本呢给删除掉,所以说呢,你历史的版本呢,只要你提交上去,它就都在,你随时可以去把某一个历史的版本给取回来。
04:00
啊,这就是有了K以后呢,我们可以很放心的去做一些新的思路的尝试,诶这就是说,呃,他就是用这种这种机制呢去保证的,因为你随时都有这个后悔药可以吃嘛。下一个呢,是分支操作非常的快捷和这个流畅,这个是怎么做到的呢?其实它内部呢,我们说哈,跟GI呢,它管理文件呢,它的管理的方式有很大的关系,它内部呢,其实是以快照的方式去管理的啊,然后呢。分支呢,其实是对不同快照的不同的指针而已,我们创建分支,切换分支,其实呢,很大程度上就是创建和移动这个指针。这个呢,我们现在一句话两句话呢,也呃说不清楚,等我们讲分支的时候呢,我们再详细的跟大家去说啊,哎,就是看到他操作起来确实是非常的便捷,非常的优雅啊,但是然后我们说他为什么能这么做到呢?诶我们讲到这时候再详细的去说哈,下一个呢,是getate呢,跟Linux命令呢全面兼容啊,那你想这个很正常呀,他俩是一个爹呀,都是linu斯开发的,最初是吧?呃,这一点为什么是优势呢?也可能你对于现在还不会linuxx的小伙伴会觉得这个很头疼,但是呢,呃,我们这样说linuxx呢,作为一个不管是任何程序员的开发人员来说,都是必备的一个技能啊,所以说你尽管花时间去学Linux吧,诶这个时间一定是花的非常值的,只要你学会Linux以后呢,你再用GI呢,你就会有一种如鱼得水的感觉啊,非常的爽。
05:36
哎,我们现在讲的这些呢,包括前面所有这些哈,其实呢,都是一些概念性的介绍啊,这个一些这个理论性的东西,大家呢,去理解啊,先有这么一个印象,诶后边呢,我们要去说的一些这个东西呢,就涉及到get的一些具体内容了。
我来说两句