00:00
啊OK,这两天我们啊,专门把这个get给它整掉。我们从我们之前那个比较嗯复杂的这个API的逻辑,或者说语法的逻辑里面已经跳出来了啊,我们以后再讲语法的话,可能就是TS的语法了啊ES5就是GS到这边算什么,算真正的完结了,懂懂,那以后再有讲的话,可能就是什么,可能就是我们这个tapscript大家应该有听过吧,TS啊,OK,可能会再去讲一下这个TS,其他的话我们就不会再去学什么新的语言了啊,没有什么语言我们可以再再被我们接触到了啊OK,那今天我们主要是。这一家店啊,这个东西的话必备啊,去公司第一步事情是不是得去拉代码啊,你你进公司就是你进公司的第一天可能就会遇到他啊,那就干嘛,完全就是显示你的一个人水平啊,你连这个给商库里面代码你都下不下来,人家给你个地址代码都不知道怎么去下了,那那就干嘛,稍微有点干嘛。
01:06
有点水啊,OK,那所以说我们这两天把这个get我们好好的整一下啊,OK,好打开来这啊OK,嗯,打开课件。OK,那我们这我们这次讲get的话,会把它的这个原理啊,我们说说清楚啊,记住这个跟节是没有关系的啊,OK,你说你之前什么东西都没学会,可是这个G现在这相当于是从零开始的啊OK,来看一下。首先,我们来。讲一下啊,这个G它是一种版本控制器吧,啊OK,那。什么是版本控制器啊?我们为什么要关心它啊?版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的一个什么系统,什么意思啊?说明这个G是不是会帮我们记录下我们每一次的版本,咱们写代码是不是,比如说你咱们之前写代码是不是010203,是不是每一次的一个文件是不是都代表一个版本,能理解啊这个码,这就是get它存在的意义,就帮我们做项目管理的啊,为什么要使用版本控制?
02:19
软件开发中采用版本控制是一个明明智的选择,特别是大项目一定要做版本控制懂不懂,因为你这个项目的周期的话,很有可能要经历几年吧,比如说你这个项目总共开发了三年,你第三年的时候要回到第一年的代码,你总你你总不可能搞个硬盘把你每一年写的代码全部存起来吧,手动管理吧,不可能吧,所以我们需要一个软件来帮我们自动去回归到我们前一年写的代码,我们肯定要看一下我们前一年写的代码里面有个功能,现在我是干嘛可能要要了。比如说第一年你这个你这个项目有三个功能。是吧,第二年加到了六个,第三年加到了九个,那比如说你第一年的这三个功能当中,有一个功能在第二年的时候,你觉得他不用不用要了,那你是可以把这个功能给它砍掉,砍掉之后的话,到了第三年的时候,你又希望这个功能干嘛重新加回来,那你是不是要回回滚到第一年的时候。
03:13
把那个功能锁定的代码找到是吧,然后再把那个码复制回去。这个怎么讲啊,啊说这个get呢,是get是用来干嘛的,做我们这个项目的一个版本控制的啊OK。有了这个G啊,你就可以将某个文件回溯到之前的状态,甚至将整个项目都回溯到过去的某个时间点。就算你乱来一气,把整个项目中的文件改的改,删的删,你也照样可以轻松回复到原先的样子,额外增加了工作量,微乎其微。也就是说,现在你们的项目代码随便改。改的面目全非了,我也可以一键了吗?一键还原,这一键还原不是一直CTRLZ。能没解啊,啊就比如说嘛,你对这个代码你可能改了一个礼拜啊,你觉得觉得这个思路不对了,想重新再去写,要回滚到一个礼拜之前的代码,那我们的就什么可以帮你做。
04:09
能不能解啊?这是get的存在的意义。OK,你也可以比较文件的一个变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在核实报告了美国工人有个缺陷,懂不懂也就干嘛,我们是不是在开发的时候的话有可能遇到bug,我们还可以去定位这个bug是谁写的。懂不懂是谁在什么时候写的什么代码导致了我们这个bug是吧,然后好扣钱啊,OK,好,也就是这个是我们必须的,OK,那这种GG它本身就是一种版本控制软件嘛,啊,它是一个分布式的啊,也就是么,我们版本控制市面上一般现在分两种,一个叫集中式,一个叫做。分布式啊,集中式的代表,估计大家都有听过。SV分布式的代表就是G。
05:01
啊,那肯定是他干嘛完胜于什么SN就这个东西已经那了吧,淘汰了啊,就现在大体上市面上的公司啊,对G跟SV的使用啊,基本上是一线城市基本上都在使用get。二三线城市一些比较小的公司可能在什么SV?懂不懂?记住gate的性能以及gate整个设计要比SN要好很多,懂不懂?可是操作上面来讲的话,可能比SN要什么。要复杂那么一点点。能理解啊,OK,好,我们可以看一下。来,再往下走啊,OK,集中化的版本控制输入什么CBS命就是我们什么。SV都有一个单一的集中的什么服务器,什么意思啊,这个是不是我们的客户端。就是你们每一台电脑懂不懂,然后呢,每一次你要去提交版本,上传版本都是传到什么服务器上面。
06:03
懂不懂,就这一台服务器保存着我们项目的所有的啊。版本。能不能讲OK,好,就是这台服务器保存所有文件的修订。版本,而协同工作的人们都可以通过什么客户端连接到这台什么服务器,取出最新的文件,或者什么提交了一个什么更新。多年来,这已经成为版本控制什么。标准做法,也就说版本控制嘛,最终是不是有一个地方要去存我们的每次版本的。标准的做法就是什么搞一台什么服务器懂不懂,存着我们项目从零开始的所有的版本懂不懂,可是它是有缺点的,我们可以看一下,这种做法带来了许多好处,现在每个人都可以在一定程度上看到项目中其他人正在做什么吧。因为所有的版本都在哪。都在服务器上嘛,是不是你带你自己的活,比如说你A跟B是不是他们俩是不是都会把自己的代码的版本全部传上去,是不是,那A如果去服务器上面把这个版本下下来的话,他是不是知道你B现在在干嘛。
07:11
能不能解啊,OK,而管理员也可以轻松掌握每个开发者的权限,什么意思啊,因为你是要去往我这个服务器提交跟什么下载的吧,那我服务器就有权限,我允许你提交,你再提交,我不允许你交,我就不让你提交。这个你们就说OK,好,并且。呃,管理一个集中化的版本控制系统要远比在各个客户端上维护本地数据库来的轻松容易。什么意思啊,你把每一个版本都放到服务器上面去,这要比你们每一台电脑自己存版本学不来的好。比如说A有A的版本,B有B的版本,C有C的版本,最终项目上线的话,你们的版本全部拿到,是不是还得合并?懂不懂,那如果说没有一个中央服务器的话,这种事情做起来是不是就特别的费劲。
08:02
能理解吧,啊,OK,好,可是记住下面这个就是重点,好好的去理解一下,是分两面,有好有坏,这么做最显而易见的缺点就是中央服务器的单点故障。比如说诶,你们每个人都有自己的版本,都往这个服务区去提。是不是哪天这个服务器炸了?那是版本就没了。想想是不是在哪?有同学可能这边啊,你如果想深入点的话,可能有个点有同学理解不了,比如说这是小A啊,这大A是大B是不是,大二是不是大C是不是问你哪怕你这个服务器炸了我ABC是不是。这三电脑都还在,那么他们对应的版本是还在。你服就了,你重新再换服,我再把所有的版本嘛给你是不这样,这边有一个特重情。
09:03
就历史记录。问你,你的每台电脑存的是不是最最新的版本?懂不懂我的这个服务器里面是不是存在你小A,你大A,你从开始做这个项目到现在为止,所有的版本,所有的历史版本,一旦这个服务器挂了,那所有的历史版本是不是就都没了?你每台电脑上面存的是不是都是你最新的版本?那服务器出现单单点故障,OK,这个服务器挂了,是不是相当于整个项目的历史记录都没了,只有最最新的版本吗?有没有讲,记住我们说咱们整个项目管理,项目管理最最重要的就是什么,所有的历史记录。能理解,而不是说你这个代码上面,你这个电脑上面有没有现在这个项目的代码,那肯定是有的吧。有没有讲,只是说的历史记录都丢了,那你还能回到什么几年前写的代码吗?还能回到上个礼拜写的代码吗?回不去了。
10:00
服务器没了吧?这个能接受啊,所以说这个事情是很严重的,OK,那我们来看一下。呃,如果说服务器啊,OK,如果服务器。如果服务器宕机一小时,那么在这一小时内谁都无法提交更新,也就无法协同工作,这这个点也要好好去理解一下什么意思啊,也就是说大家现在点。连不上服务器了。连不上服务器就干嘛。是不是就没法提交了,可是能不能工作,可是我们一般说服务器宕机,连不上服务器的时候不让你工作。这时候有同学就会疑问,为什么服务器宕机不让我工作?你服务器宕机,我本地代码能不能敲?可以敲啊?那为什么不让我工作呢?为什么不让我工作呢?我能敲掉吗?你服务器你当机你当机吗?等你服务器重新干嘛。
11:02
不是挡完了,等这个附近干嘛重新干嘛启动之后,我是不是又可以连上你了,连上你我再把干嘛干嘛提上来了。是吧,这边还有个点你们需要注意一下啊,服务器宕机,相当于你本地开发的时候,你就是个瞎子。OK,你现在比如说啊,你现在是在三版本,早上过来服务器宕机了,是不是,你在这边是不是写代码,我问你,你写的代码是版板对的吗。你上来写代码,就能把这个代写,把这个代码写正确吗?你有没有可能把代码改得面目全非?本来好好的功能又干嘛?你又给你干嘛改坏了。这个这个能不能接受,OK或者说什么,或者说哎,你过来,比如说干嘛,你今天早上过来,你开房,你在地铁上坐的时候啊,就是想想哎,我这个项目里面,哎,突然想到一种方式可以让这个项目干嘛,代码上面变得特特别的简洁。
12:05
懂不懂,或者说你有一个很干嘛,很出彩的一个点子,哎,你觉得这个点子加到这个项目里面去的话,他会很好的话。懂懂,那这个时候你就去工作,诶发现连不上SN服务器是吧,比如说这个服务器宕机三小时。第三小时OK,然后你就拼命工作,你前一个小时的工作都是对的啊,这个思路都是很特别。正确的,到第二个小时开始,你写的代码可能就会有点什么。方向上面就可能错了,懂不懂什么意思啊,就是服务器它总共宕机三小时,你前一个小时。你干的活这是没问题的,而且思路很清晰,懂不懂第二个小时开始你干嘛?你写的代码,你干的活,把前面的代码改的面目全非了。都是的,能理解啊,那这个时候你有没有可能在第三个小时的时候一下回到第一个小时代码。因为你你前一个小时的工作是干嘛,是不是没有问题的,能理解,可是问你因为服务器宕机。
13:05
你工作到一个小时的时候,你这个代码能传到服务器去吗?不能,你回滚是不是只能回滚到服务器宕机时的一个。代码状态,那也就是说你做了这一个小时的工作还在不在?不在了。是不是你写的代码得不到保障?因为你写代码写的是,哎,我到这边我应该停一下,因为我已经做了很久了,我怕待会做下去是不是要出错,那你这个代码是不是要传,要传到下面去。那这个时候因为宕机还能传吗?不能传,懂不懂,所以一般SVN服务器出现故障宕机了,我们能工作吗?一般不会工作。这个你们就说他当机一天你们就干嘛,放假一天宕机两天干放假两天懂不懂,那每天上来把他的插头拔掉,是不是就行,就可以不用上班了。啊OK,注意一下,一般啊,一般像我们原来公司啊,S分服务器宕宕机了,我们都会把代码自动自己干嘛。
14:05
自己先保存一份懂不懂,然后再去写,等服务器恢复了,然后再干嘛,再把写完代码干嘛传上去,比如说你工作一小时,你觉得代码特别重要,CTRLCCTRL存到E盘里面去。然后你再写懂不懂,写到第二小时之后,你再C1伽八再存到100里面去,懂不懂,说白了是不是我们自己手动做百分公式。那么讲啊,所以说也不会让你们干嘛,也不会让你们回家的,那么讲,只是这个代码没没办法提交,OK,好。并不是说服务器故障了就没有办法写代码了,只是在服务器故障的情况底下编写的代码是没有办法得到。保障的。试想SN中央服务器挂机一天,你还拼命写了一天代码,其中12点之前的代码都是高质量可靠的,而且有很多的闪光点,可是12点之后的代码,由于你想尝试一个比较大胆的想法,将代码改成什么面目全非,这样下来是不是你12点之前的工作也白做了?有记录的版本是不是只是SSV服务器挂掉时候,他说保存这版本?
15:09
能不能解啊啊,你说中央服务器宕机,有可能让你做的很多工作白费。领导受中风险吧?能理解吗?啊,这个注意一下OK。要是中央服务器的磁盘发生故障。吃饭少了。碰巧还没有做什么备份,或者备份的不够什么及时,就会有丢失数据的风险。最坏的情况是什么?彻底丢失整个项目的所有什么历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据,就成了恢复数据的什么。希望。OK,但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整什么。奇奇怪怪。
16:00
懂不懂?只要整个项目的历史记录被保存在单一位置,就有丢失。所有历史记录什么?风险。这个能不能听懂。这个能听懂什么意思啊,就我这个这一段不就是我们刚刚讲的吗。什么意思啊,你这边是不是有个中央服务器是吧,比如说你ABC3个人是一个团队在开放是吧,你ABC这三台电脑上,你放的肯定是你当前这个代码的最新版本。是不是,可是你们ABC是不是有可能这个项目做了一年了,你都一直在往服务上面去提升,在哪你A是不是有很多版本有零,比如说A0到多少100。B呢,是不是有干嘛有B0到什么,B100C呢,是不是也有CC0到什么?C100,那ABC3条电脑上面是不是都是你A100的代码,B100的代码以及C100的代码。是不是你客户端放的是不是都是这三个版本,这三个版本能不能回来,可以回来,哪怕你装你这个服务器挂了,我这我这三本是吧,还在可是零到99是不是九。
17:05
零到九,零到九九就没了,那你服务器烧掉,你重新再去换一个服务器,是不是相当于从零开始重新做盘。懂不懂一定要记住一个任何一个版本控制服务器啊,它所保存的是所有的历史记录,而不是你这个项目的最新版本。项目的最新版本的话,你客户端上是不是肯定有的。那么OK,好,也说服务器存的东西比我们客户端说要多很多,你想想我们只存最新的,服务器上面是码存的,是不是从从零开始到最新的。懂不懂说一般我们公司有很多很多服务器分,服务器是专门放在他不干其他事情。这个你们接受,OK,好,那我们。总结一下吧,OK。我刚讲的我们干嘛。总结一下,OK,这是相当于是我们第二个阶段的定理一样,OK。
18:05
好,我们说了,首先OK,百分控制吧。OK,零一干什么版本控制?OK,点什么好?OK,我们说版本控制软件分成哪两个阵营,一个什么,一个是集中式的。是吧,经典是谁?是吧,一个是什么分布式的。OK,今天是谁?OK,好,那这两个东西,OK,我们是不是还没讲到分布式,只讲了一个集中式吧,集中式的优点是什么?是不是代码的码。代码是不是存放在什么,存放在OK什么单一的服务器上面,单一的什么服务器上干嘛便于什么。
19:06
便于项目的什么管理?这个点OK,好,缺点是什么?OK,两种情况,一种是服务企业宕机。第一种是服务器干嘛?干嘛?就服务器故障的,这个故障什么,就服务器干嘛,就是就是服务器炸了,对不对,两种情况嘛,一个是服器上机,一个是服务器没了嘛。懂不懂,如果说服务器宕机,它有什么风险?15甲、是不是员工写的代码干嘛?员工。OK,员工写的代码得不到什么。得不到保障是不是导致是不是我们不敢瞎写功能,是是就是哪怕有有有有很多想法的话,是不是也不敢去做,生怕把这个代码改坏了嘛,当然而且还没有历史记录,可能自己可能自己做的工作就可能要干嘛白费掉。
20:12
能理解啊,保存不下来嘛,如果说伏击战人呢。是不是整个项目的什么历史记录OK都会干嘛,都会丢失啊,那这个肯定是最严重的。是不是你到机的话,我可以自己手,是不是还可以自己手动去啊管理版本啊,OK,好,那就是集中式啊,那再看那说白了分布式出来的话,是不是这些问题是不是都会没了。那么讲好看,什么是分布式的办公?OK,好,分布式的一个9%。OK,正是由于这个集中化的版本控制系统啊,我们用,我们用了很长一段时间之后,发现它有它有这么多的问题啊,OK,于是分布式的版公系控制系统干嘛面试了,在这类系统中向GI be keepper的客户端并不是只提取最新版本的文件快照,SN是不是客户端只放在最新版本的文件快照,文件快照就是你整个项目什么快照什么意思了,就看他拿一个相机把现在状态干嘛拍下来,就你项目这个时候长什么样,那快照就干嘛,就代表了这个项目。
21:24
能不解啊,OK,好,我们说的嘛,客户端放的不是最新的一个快照,而是什么,而是把代码仓库完整的什么镜象下,也就说在SV的时候,我们本地就你们自己的电脑存不存历史记录的不存在,可是如果说用分布式的,你用gate的话,你本地要不要存历史记录的?这么这么一来,你觉得是的性能高,还是还是用的性能高?是不是感觉好像是S里面存的东西少啊,因为所有的功能是不是都交给服务器存了,我本地是不是只要存最最新版本就行了,可是g get呢,它是把本地要存整个项目历史记录的,是不是相当于每一台电脑都是一个浮线?
22:10
是吧,就这样的话,很多人都会联想到那的话,那肯定慢,那肯定要比S慢,因为我你看我本地的东西少。是不是如果说get的作者。他就是在你本地,哪怕是存整个项目历史记录它的这个速度。比SN啊,不能说是速度了,就是这个存储的这个容量比SN就多那么一点点,能不能接受。那么就说。也就是干嘛我给你存的东西是不是肯定要比你S分多,可是我所占据的内存空间,不是占据这个硬盘的空间,只比你S分多什么多一点点,可是我存了比你干嘛多几倍的东西。那你觉得谁好?Get off。虽然说存的东西多了,可是是不是我把所有的项目历史记录全部存下来了?
23:02
是不是就是哪怕我们大家干嘛,大家大家这么多电脑,哪怕有一台收掉了,是不是其他电脑上面是还是这存在整个项目历史记录,历史记录会丢吗。不会丢,而且整个地图的作者啊,他们把这个存储已经做到了极致。懂不懂会经过各种算法的一个压缩,最终存下来的东西体积懂干嘛特别小,在用的时候它就是get,有getate,它有一套很好的。就是压缩算法以及一套解压算法能不能解啊,它存在东西并不是原封不动的存下来的,而是要经过压缩之后干嘛存下来,而是他压把你压到了极致能不解啊?所以最终比下来gate它需要的存储空间其实比SN就多那么一丢丢。懂不懂啊,OK,这个稍微注意一下,OK,好,OK,如果说变成能实现我刚那个事情,那这么一来,是不是任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库来恢复。
24:06
这就是G比较经典一张图。里面是不是都是客户端都没有服务器吧。懂不懂是不是每一个客户端都是在服务器?是不是大家坐在一起开发,OK,你这单电上面存在是不是这个项目的收利息文本,这一单电脑存在也是项目的什么?所有的历史记录版本。你们这台电脑占了,这台电脑占了,这台电脑也占了,都占了,我只剩下一台了,项目会不会丢?下面会不会丢,不会丢。是不是你不可能说我公司几百个电脑同时炸吧?OK啊,而且一般啊,哪怕是分布式的,我们也会搞一个呼吸的。懂不懂这个服务器,说白了也就你这个服务器已经相当于就是我一个客户端了。
25:00
这个能不能接受,哪怕是分布式的,它最终是不是也有一个中央服务器,是不是,可是这个中央服务器你发生故障的话,并不会影响到我整个项目嘛。项目的一个进度懂不懂,因为干嘛大家都存在什么所所的历史记录了,想往哪回滚就往哪回滚,懂不懂那问你如果说这个时候网络断了。大家互相连不上了,能不能继续开发?可不可以啊,可以啊,你的你本地的机子是不是可以做这个版本管理了,历史就是都可以也去存下来的,比如说干嘛,那问你出差的时候在高铁上你能不能开放。在飞机上能不能开发都可以,你每晚情况下能不能开发都可以,因为是不是你本台机它就是一个服务器是吧,比如说你上来做个工作,你夸张夸张代码写到12点,12点之前的代码都是比较高这样代码,那你是不是提掉它就行。是吧,然后你继续往上写,哎,发现12点以后以后写的干嘛干嘛。特别干嘛,特别不靠谱,那你能不能回滚到12点多的时候可以,你历意思就是都在本地吗。
26:07
能接这么那日个分布式要比集中式来的好很多。是不是啊,这种思想有点类似于什么思想?这个是叫做去中心化。去中心化是不是就是我们这个。区块链的思想。我可以可以可以稍微说一下这个区块链是在这个思想。就我们不需要任何的第三方,就你们现在你们现在去做交易,去买卖,是不是都要通过阿里,通过京东买个东西的话,是不是要通过第三方APP了,你这边付钱买家干嘛。发货是不是啊,如果不经过这第三方,直接是买家跟卖家之间产生交易,那是会快很多是不是啊,可是这边叫什么,要解决什么问题,信任问题,对。懂不懂,所以区块链就来解决个什么,解决这个信任问题的懂不懂大致上是一个。
27:03
但是是一个怎样的思想,A跟B要产生交易,是不是OK,会会有一个公海啊,就是么,就是所有的,就是所有的买家跟卖家可能的话是不是都在一个区块里面。懂不懂就是会,会有一个容器,比如说嘛,就是大家都在一起,比如说嘛,我今天要跟你产生交易,我就大喊一声,啊,我今天问他买东西了多少钱,OK,他什么时候给我发货,大家都知道。懂不懂传开了大家都知道懂不懂,如果说他不发货,或者说你不付钱,那他就把你踢出什么。踢出这个区块。那么就说就你以后这一个嘛,你再也没办法产生交易了。你有钱有用吗?买不到东西,有钱买不到东西有用吗?没人愿意给你买东西啊。这个能介绍,这就叫去中心化,反正我们不要任何的什么。像淘宝啊,像这个京东这种是吧,第三方懂不懂,这就是为什么区块链出来的时候的话,各个电商他们就特别怕。
28:06
是吧,我们也要区块链这边去发展,人家区块链发展就是要把你干掉的,你说你要往这边发展可能吗。不可能。这怎么介绍怎么介绍啊,所以说干嘛,这要就是以后肯定都是什么。分布式的懂不懂,分布式就是去中心化,我不需要这个中央什么。重要服务器能不能理解啊,啊,这稍微扩展一下好OK,那更进一步,许多这类系统都可以指定若干个不同的什么。远端代码仓库进行什么交互?借此你可以在同一个项目中分别和不同工作小组人干嘛?相互协作,什么意思啊?呃。什么叫端代码仓库啊,比如说你们是A公司,他们是B公司吧,是不是还有个能G,我们说它也有,也可以有个中央服务器的吧,就这个中央服务器啊,说白了是不是也是相当于我A团队里面的一台电脑而已。
29:12
它并没有我们SN里面那个要浮起来的重要吧。就你这台装服务器挂了那个码,那你就挂了。懂不懂,OK,也就是说如果说你的代码只是在我这个A这个公司内部要进行一个协同开发的,那我需要这台装服务器吗?可不可以不要不要,就是我自己干嘛,自己自己公司内部内部开发嘛,那我是不是搞一个内网服务器不就行了,这个这个能介绍,如果说你觉得你们公司内部可能干嘛。这个员工的水平没有干嘛。没那么好,懂不懂,比如说有时候代码出现bug,这个的话,你可能要去干嘛。去找一些比较大的公司,就技术比较强的人过来帮你们去改,去改变到了罢了,懂不懂,那这个时候的话,你们可以把你的项目放到一个叫远端仓库里面,这个仓库就是什么给他。
30:03
好。懂不懂这个仓库是不是谁谁都可以访问的,然后呢,你给B公司里面一个技术特别强的人干嘛?开一个权限,让他把这个代码设下来,然后帮你们协助工作,再把这个代码传上去,这台服务器是不是相当于我A公司内部是不是一个客户的,他帮你把这个代码改,改完之后的话,这个代码你能不能下下来了可以的,懂不懂,所以你可以干嘛,是不是可以让干嘛,同一个项目中是嘛,不同工作小组人是不是来相互协作,甚至是不是可以让另外一个公司的人过来帮你们去个忙。去开发项目。能不能接受啊,OK好,注意一下,OK好,分布式的版本控系统在管理项目时存放的不是项目版本与版本之间的差异,它存的是,所以所需的磁盘空间很少,所以每个客户端都可以放下整个项目的。
31:00
历史记录。这边我帮你们解释一下,我们刚说了,G是不已经做了一个极限的压缩了,他哪怕存整个项目的话,它存下内容是不是也比较少。OKSN一般怎么存呢?有的卡。呃,OK,我们可以说话话OK,比如说我们就从一个员工上来看啊,比如说这个A员工嘛,是不是他今天写的一个A1版本的,是不是OK,这是这个是一个版本,懂不懂,第二天过来他又写了一个L版本,可是这次存的时候,SV存的什么呢?存的是差异。第二个版本解什么?减第一个版本这种差异,他需要把两个版本全部存下来吗?不需要,他他是不是只要存这个差异就行了,OK,大家看呃。你看。这句话,分布式的版本会使用在管理项目时,存放的不是项目,版本与版本之间是什么。差异集中式存的就是什么差异啊,OK,那大小重力,OK,它一直一直往前,我们先在这个集中式啊,那存到最后的时候的划分。
32:07
很有可能,什么是不是A100减A。99。是不是,那我就问你了,他从这个版本回到A1这个版本要不要经历。这么长的一个过程,要不要这就叫补丁?是不是一早打补丁是吧,你A1A100这个版本回到A99这个版本,是不是要打一次补丁。是不是因为你们之间是不是有差异了,是不是A99回到A98,是不是再有大,是不是,那么你那这个回滚这个速度慢不慢。是的。这么做,比如说这是一个版本。是不是他这第二里面说的什么。AR和什么?和A。他不存差异了。
33:01
他不准创业,懂不懂,OK这个吗。这什么A3A2A。你们接受?那么就说到最终呢?是不是A100要存多多?Ae。懂不懂问你A100小规A1是不是就是不是就直接就回去了,需要打补丁吗?需要答,补丁不需要,也就是说如果说你用get去回对版本快不快,可是我们说get面临的一个巨大的挑战。他的东西不多。沉的东西这么多,OK,好,总结一下,OK,这张图的话,我最后再帮你们画一把啊,OK。也就是说SN是这样的版本,这是A1版本吧,好,这个是什么?这个是A2版本,这个是A3版本吧,你要知道这里面存的什么,是存的整个A2版本吗?不是,是不是A2跟A1之间的什么差异,懂不懂它是存差异的,存差异它干嘛?
34:05
如果说是纯差异,来看一下这里。如果说是差异干嘛SVN什么,因为。每次存的都是什么?每次存的都是差异,那需要的什么?需要的内存不是需要的硬盘的什么?空间会干嘛,会相对的什么小一点是不是可是干嘛,可是回滚的什么速度会干嘛会很慢,你们讲get呢。Get呢?我在这边。Get呢?Get get存的什么?Get,每次存的都是什么项目的完整快照,这个快照你们可以,待会你们就会就会知道这个快照它其实就是索引。
35:06
懂不懂啊,这个点我们待会再来讲,OK,好,需要的什么。需要的硬盘空间干嘛会相对干嘛大一点是吧,可是技术这边干嘛给团队什么get啊get团队对什么,对这个代码做了什么,做了极致的什么要说。OK,最终的吗?就你最终需要的什么?最终需要的实际空间比什么?比SN干嘛多不了什么?太多。能不能解多肯定是要干嘛,要多一点的,可是干嘛多的其是干嘛,并不是那么夸张理解啊,OK,好,可是你多可是干嘛,可是get什么,可是get的一个什么。
36:04
回滚,给了一个回滚速度干嘛极快。那没讲,比如说你在开发的时候,你从一个版本切到另一个版本,你需要花一个小时,烦不烦?从一个版本切到另一个版本,一秒钟就好,直接切过去了,是不是是吧,那我们肯定希望你这个操作快点。懂不懂你这个,你说这个硬盘不够了,那我加硬盘了。是不是,可是你说干嘛,你说你需要的硬盘空间比较少,可是你这个操作特别慢,我有办法吗?没办法,你你总不能给你电脑加100个CPU吧。那么理解啊,OK,所以说们我们肯定会选择什么。好,我们再来看好看一下分布式的版本控制系统出现之后,解决了集中式版本控控制系统什么缺陷,第一个断网的情况之下也可以进行开放,因为版本公司在什么。
37:02
本地进行,第二个使用getar进行团队协作,哪怕GI挂了,每个客户端都保存的也是整个完整的像。是不是我们说这个你分布式能不能也来一个中央服务器了。可不可以啊,那这个。Get就什么了,就那个重要服务器。能不理解啊,能理解,说白了,分布式里面那个中央服务器,它本身也是一个客户端。你不讲,我们说分布式里面是不是每个客户都可以叫做中央服务器啊。只不过咱们把这个get单独拎出来,是不是做成了一个网站?我们是不是每次都在上这个GI他了,这个GI他上面是不是有很多软件的了,是不是还有很多项目的了,就这个东西大家说诶我们把东西都统一传到GI他里面去,那这那这个get是不是就火了了,可是get在我们这个分布式的环节里面,它是不是就是一个客户端。是吧,只不过大家都知道这个客户端的名字叫给了他们。
38:00
能不讲OK,好,这个要注意下,而且这个东西是不是在公网上面。谁都可以访问的,能不理解啊,OK,好,那这边就是我们先说清楚版本控制什么,然后告诉他为什么我们需要这个版本控制。对比一下这个集中式跟分布式什么。区别是不是最终得出结论是不是肯定是这个分布式比较论啊,牛逼,懂不懂?那咱们上来待会就去学什么。学这个分布式什么。百分公式C2。就get懂不懂,那从下节课开始,咱们是嘛,就是开始直接讲get。懂不懂啊,那这个是一个版本控制,版本控制里面软件比较经典是SN跟。给他说了,分个吧。不好,太慢了,懂不懂D才是什么王道,能理解啊啊,那这也是你以后面试的时候要跟大家去聊的。懂不懂,这这个是思想,咱们是没有讲,没有讲任何的操作,OK好自己先。
39:00
回顾回顾啊。
我来说两句