00:00
啊,然后我们上午说到哪上是不是刚讲完这个命。简单的说一下这个比量,你们看这个文档的时候啊,这个文档目录是不是一定要调出来的啊,调出来之后的话,你们点出这个文档中的话,这边是不是有个显示目录一个层级啊,你要么显示第二个层绩,要么显示什么。第三个成绩,然后一个个的对着去看,懂不懂不要连这个目录都不打开,拼命在这看,听不讲,这叫文档结构图啊,OK,应该是在我们什么视图里面有的,就是这个,我这边应该叫导航窗口。能不讲点一下OK这边就出来了啊,OK,你不要这么看,这么看的话,这个文档你怎么读啊,懂不懂,把它的索引先调出来,然后呢,想看哪个点过去啊OK。好,我们上午是讲到了这个底层概念里面的第一步啊,是不是我们刚讲了一个怎么去搞这个基础的一个致命点,初始化仓库的话,咱们是不是也说了get什么。然后你是不是看了一下这个get所对应的什么。
01:03
目录吧,好,然后我们就讲第一个什么get对象啊,我们说学GET2条主线嘛,一条什么三个区域嘛,是不是工作区。展程区版本库还有三个对象,给的对象、数对象以及提交对象等等。先来看什么是。Get对象啊,OK get的核心部分是一个什么?简单的什么键值,对数据库,你可以向该数据库插入任意类型的内容,它会给你返回个什么键值,通过该键值可以在任意时刻再去干嘛检索内容,那咱们是不是先往这个get的数据库里面是干嘛,是写入一条数据啊OK,看下面有个命令,向数据库写入那种被并返回对应的什么。键值OKIO什么?E是test contain1段内容吧,再来一个数滑线代表去执行另外一个命令,懂不懂get哈西,Object-W杠杠什么这个这什么意思?好,这是不是往我的控制台去输出段内容,OK。
02:15
然后呢,Get哈修这这个代表什么意思哈,这代表什么?代表去往数据库里面写入内容懂不懂?杠W什么意思?杠W选项指什么?哈希这个命令是不是用来存储数据对象的?若不指定杠W该命令,该命令仅返回什么对应的什么键值,我们可以看一下这个什么意思啊。呃,看一下。好,我们搞一个干净的仓库,找你ctrl a,把里面东西都干嘛都删了,包括那个什么。仓库有什么隐生了,那这完全就是个公众目录吧,首先进来get什么白she票所,你get什么in,是不是创建一个仓库好创建完仓库之后的话,然后干嘛。
03:00
叫E吧,什么test c有一个命令叫什么get,什么哈西什么我不这OBJ哈希不这个什么是不是后面干什么杠W,你看如果不加杠W什么意思,如果没有这个杠W是不是仅返回对应的什么键值啊,那么就干嘛就不加杠W。后面还有更个什么standing这个标准的输入法,该选项只是该命令从标准的输入流中去读取内容,若不指定此选项,则需在命令尾部给出干嘛待存储的什么文件的路径,咱们现在是不是没没有文件啊,只需存这样一个内容吧,那就让他去什么输出流里面去读,这个能接受,OK,那这个面不要加。要刚刚什么s t s t Di OK,我交回则大,看有没有出来的阿奇。
04:03
有没有说到哈希?有没有记住这个哈希就是这一段内容的唯一标识。懂不懂整个get数据库它干嘛?它会根据你的内容不一样,给你生成不一样的哈希,这一段哈希就代表一块内容。你们就说再来看如干嘛,我说你看我把它改成K2走,你看一眼哈奇没有变,变了吧,如果把这个二三了呢。你是什么内容,我是不是给你对的哈,行。这两个还是比较难,就内容它有一个唯一的哈希,这个能接受好OK,那么你现在这个这段内容有没有存到数据库里面去啊。Test跟有没有存到数据库里面去啊,有没有没有我可以看一下这里我们说get的数据库就是这个什么。Objects里面不是存这数据了吗?有吗?没有是不是都是空的,说白了这个命令如果说你不加这个杠W,是不是就不会往这个数据里面去存,只是返回它对的化是吧?加了杠W呢?
05:08
那就要存了,记住这是底层命令,不用你们记了,懂不懂,看到的功能是什么就行了,我这边叫什么干什么,W1敲回车走,你是不是还是给你反应战略化机,可是这个时候看一眼这里后面这个里面有没有东西了,有。第六什么什么玩意吧,OK,那我们想看这个目录怎么办?因为这边看的话还是有点复杂,我们怎么看呢。点到什么?OB什么?呃,我们是不是要进入那个点干什么,Get是不是get不加有什么。有这个看一下是不是。OK,可是他为什么不让我访问?咱们现在OK find的什么呢,这样我们就放着点杠,OK杠杠什么。TYP,应该是刚才爸爸知道是不是只看文件,TYP,这应该是个Li命令吧,OK,只看文件,所以你看一下。
06:03
好。有没有这个有。是不是在这边,OK,那我想这样吧,OK。我们是不是有个范的,没点那点干什么。点下是不是体现了什么。Object,我们看这行不行,刚告什么。杠T等你只看什么?F,你看这是不是我们那个命令是吧,或者说你想你你想去看这个文件夹内容的话,你还有一个名叫CDCCD,代表什么意思啊。都没。代表进入懂不懂,我们干嘛重新进入这个目录,或者说你就直接点开这个在这边干嘛。Get,我们是不是又出来一个秒过去,是不是,这是不是在get目下的,那你要去折之object内容怎么找换在什么,点个什么object是不是干什么TPT,我们看什么,这是看文件,这里是不是就这一个文件是不是,而且这个文件的命名啊,它特别奇怪啊,来看一下大家看这个文件的命名跟我们刚刚返回那个哈希。
07:15
像不像?看刚刚返回这个哈希啊,走,你把这个杠W删了,是不是给我返回个哈希,你看这个哈希跟这个文件的命名。像不像是不是把这个文把这个哈希的头两位作为一个目录名,后后那么多位作为什么。作为一个文件名。是不是道理?那你觉得这个文件里面存的是什么内容?怎么看一个文件里面内容的。怎么看这个文件里面内容的cat行不行?可以试一把cat是不是一个Linux命令,好,OK,这个文件名字叫什么?现在咱们是不是在这个works底下,你要去看到这个路径的话,应该是点个什么。
08:00
点的目录吧,底下什么哦,目录叫什么第六。底下什么七零开头一个文件吧,是不是他只有你看有没有内容,有可可是不是这个内容明显被压缩过。乱码了吧?明显没压缩过吧,OK,也就是说这个内容其实存的就应该是不是我这个test,可是我通过cat命令的话,我看到的是不是压缩过后的内容,那我就想看这个原内容怎么办。你看这里往下看一眼。有没有叫开,根据净值拉取什么。内容。这不知道他能不能理解,我们刚刚干些什么事情啊,我们刚刚是不是通过这个命令,通过这个命令咱们干嘛将这个test跟着这个内容干嘛,存到什么。Get的那个版本库里面去吧,有没有存进来了,你看是不是object里面第六码是不是存到这个这个文件里面来了,是不是,可是你存进去的内容是不是被压缩过的,你通过cat命令的话,是不是只能看到压缩之后的内容,我们是不是想看原内容,那怎么办?Get又给我们提供面罩什么命令?
09:14
Get cat fair、杠P后面跟什么跟对应的哈希就能看到它的内容。你们讲是不是根据这个键值去拉取内容,OK,来看一眼可不可以。C212怎么拉取给什么。开车干什么?开干什么?OK,好干什么杠P走你右边右边那哈西。要那个哈,咱们干嘛。还真记不住。这个哈,神奇这种。OK,是不是这个发写好get cat-fell-POK,把这个哈希名字我叫什么?如果说你是WIN10操作系统的选中及复制。
10:04
懂不懂,这命令行里面就是选中它就代表什么,复制了OK,这里不不选中干嘛粘贴过来是不是就对了,OK,一圈回车是不太可能的。那么就说其实就帮我们做一件,帮我做件事情什么事情啊。他干嘛,你是不是给我一段内容?你给我这一段内容,我就把这一段内容做做成一个什么键字,对键字对吧,见是什么见是你这个内容所定的哈希。是不是值的话,是不是就是你这段内容,然后它就把它存到了get的那个object那个什么数据库里面去了。这个介绍,这就是什么对象。这就是对象的对象。懂不懂,那怎么来看一下它是什么对象呢?嗯,看一下有没有命令的。这边是不是一个T-P啊,杠P代表什么去哪内容,我们可以看什么,把这个杠P可以改成杠P啊,看一下它是个什么对象,所以你什么对象。
11:12
什么对象?报复对象懂不懂,也就是说G存储的那个介词对是什么类型?Bob,璃心。懂不懂?这就是gate内部它自己的一个数据类型,跟我们GS有关系吗?没有关系啊,OK,这边我们说一下,好,我们说get对象,它到底是个什么东西啊。它是不是一个KW什么,它是一个KW组成的什么组成的键值。对是吧,这个K是什么,K是value对应的什么,对应的一个哈希懂不懂,而且这个建职队,这个建职队,这个建职队在gate内部是一个什么类型。
12:01
是什么类型,Bob类型啊,OK,这它是一个Bob类型,这个咱们介绍说白了,现在咱们的内容有没有交给电子管理。有没有有,可是你想想,一般我们做版本控制,是不是应该让他来帮我们管理文件,而不是管理我们输出的内容吧?能不能理解啊好,他也可以帮我们管理文件,怎么管理文件后面不要加什么。后面不加这个尴尬吧,我们叫什么?一个文件路径是不是就可以了。能不能接受OK那个嘛,那我们来看一眼,OK,我先清个屏C212 OK好看一下当前目录加有没有文件,没有那怎么创建文件。Eo疫情,OK,比如干嘛,我们创建一个文件吧,OK。好。来我们看这边是不是对一个文件进行一个简单的版本控制啊,OK,是不是版本一出是什么text.tt啊好,我们我们自己来干嘛,我们干嘛,我们叫T点什么TXT第一个版本可不可啊好X什么TXT是不是剩这个文件啊好你这个文件有没有交给给的管理。
13:13
这个文件有没有做过这类管理,还没有?是不是这里好,OK,好,那怎么把这个文件交给GA的管理?要不要把这个文件内容存到数据库里面去,要怎么存?Get什么哈希object,你看是一个哈希跟一个object所组成的一个介词,对了,是不是干什么?杠W这个杠当中代表什么意思,是不是要去存,不是简简单单你返回一个哈希棒,需要给我存进去,OK,还从这个什么标准输入输字流里面去拿吗?不用了,需要那个杠刚不需要直接干什么,我接路径点干什么,Test点。你没写,这不是我们高新建的吗?一圈回车,OK,装什么?有没有返回哈西?你们反发现有上面这个警告,你们不用管啊,因为这个Windows的换行跟这个Linux的换行干嘛不一样,懂不懂它提示我们,咱们把这个方向格码变了。
14:12
能不懂啊,Windows的换行风格跟Linux的换行格不一样,所以说你存到各的数据库里面去的话,他帮你把这个换行风格嘛替换了,L是什么,是Linux啊,是Windows一个什么换行风格,CF呢,是Linux的换行风格,懂不懂,他觉得你这个换行不对,然后呢,我用Linux风格把你换掉了,自动帮你换的,能理解啊,OK,你换不换我们无所谓一个换行嘛。这个怎么介绍好,OK,那再来看现在我们的O里面应该有几项东西。怎么看?犯的什么点叫什么?Objects是不是OK,杠杠什么杠什么。OK,是不是只看文件有几个文件了。两个第六这个是不是我们第一把存的,存的是不是从这个输入数据里面去拿的,是不是从这个控制台里面是不是去拿的数据这个呢。
15:07
是从文件里面拿的吧,看他存的是一个什么东西,怎么看存的什么东西啊,Get什么开的什么开的杠P是不是,看它的内容是不是五六开头的,OK好,后面的哈希的话,是不是应该是这个哈希。谁应该是他可选中键复制听过来吧,轴里是不是S杠一。是不是好,那看这个对象什么类型的。干什么杠,只要你是不报类型的,说白了不管你是去存一个文件。还是去存一个吧。控制的内容最终存到get的仓库里面的,是不是都是一个get的对象?是吧,这个get的对象是一个什么类型的对象?Bob类型的懂不懂,Bob类型的对象是不是就是一个K的一个键磁带。
16:01
那不解,OK,说白了,Get对象是真正的去存储。内容的能不能接受,OK,那再来看,好,那看这边我们跟大家讲完了,咱们是不是对一个文件进行简单的版本控制啊,是不是,咱们刚刚是不是创建了一个新的文件,然后把这个文件是不是塞到了get的数据库里面去啊,是不是,那看我能不能向文件里面写入新的内容。可不可以啊,可以,我我再来动一动C,再来写入一个新内容,OK,我看一眼下面是不是只有一个文件,是不是OK,怎么办?V什么。T点什么TST能不接受,好一圈回收过去,好按I键,就用这个操作模式是吧,我再给你加一个,我叫TX点什么TSTV2可不可以。都第二版本了吧,好,Ec键冒号WQ保存退出,我问你这个时候我是不是只是改动一下文件,那我问你啊,数据库里面有没有我改动的内容有没有。
17:02
有没有来看一下怎么看?有没有有没有是是。了,我刚是改一下内容,可是跟据库帮我们自动去我们修改有没有。数据库有没有get?数据库有没有自动帮我们存修改没有。你要干嘛?你要干嘛在显示着干嘛提交一遍。你是提到数据库里去啊,怎么提呢。回忆位上没令什么命令。Get往数据库里面往get,数据库里面存get对象,哪一个底层命令我不要你们去背,可是我刚刚讲完应该有印象吧哈,是什么杠什么好这个的,然后呢,杠W干什么。跟文件名是不就行了点干什么t.TT吧。
18:02
能不能接受了?OK,一敲回车,左点是不是又出来了?阿奇,C3开头了吧?有没有看到?好,我们再来看一下,现在你们是不是三开头了,一个是不是C3开头了。能理解啊,来再来看C3开头这个内容里面存的是什么东西啊。是不是get cat fair到什么?杠P,拿什么拿?是不是C36哈西是吧?走,你过来看一眼。营销回车是不是比仪表都在里面,这是一个增量的,这是一个增量的形成吗?也就是说,t.TXT1就这个内容被存了几次。两次是C3里面有五六里面是也有,它是增量吗。不是的,他没有量。对不对,可是内容有没有压缩,压缩了不你自己干嘛。你打开这个C3里面再看一眼周,你编辑一下,你能看懂吗?看懂他已经完全把你压缩了。
19:08
能不能接受,OK,好,注意一下,OK好,那来看一眼,好,那再来看。好OK,刚刚咱们是不是加了一个V进去啊,是不是OK,好OK。问题,OK,这边这个get对象,这就是我们的get对象,我来问大家,你对文件做一次修改,只要你去生成一个get对象,这个给的对象是不是就在我们给的数据库里面了,永远丢不掉了。是不是永远丢不掉了,可是这边有一件很麻烦的事情,你想想按照我们往常的操作啊,我们改文件改的平不频繁,频繁的吧,如果说你每一次改文件都是你自己主动的去生成一个电对象,放到数据库里面去,烦不改?极其的繁忙是。可是你要知道。我们的每一次的改动。只要你纳入给的管理的是,必定会有一个的对象跟他一一对应。
20:03
都到,可是问题我们这一次的改动算不算一个版本。算不算一个版本,不是我们的一个版本,它是不是可以包含很多次的改动,能没解啊,那我问你了,Get对象能不能代表我们项目的一次快照。Get对象能不能代表我们项目的次快照?可不可以想想好get对象能不能代表我们项目的一次快照?思考。项目的快照是什么?是不是比如说对你项目的一个整体的一个什么。一个说明吧,你有几个文件,你当前这几个文件属于什么版本吗?对象有没有能力办到这个事情?你。有没有能力啊?OK,来看一下,比如说看这。
21:03
OK,呃,来看一下这是不是我们三个概念对象,是不是,我问你,你挑出里面的任何的一个概念对象,能不能代表我们整个项目。那么能不能?比如说C3这个它只能代表什么。C3那个它只代表啥,是不是代表我们那个TXT的第二个版本,OK56这个呢。是不是的,第一个版本是,比如说你看我再去新增一个OK。呃,Echo,一起走,你OK,比如这个马虎,我们说,呃,老夫点PSD是不是老付666 OK,走你老一吧。OK,不啊,找你,我们去什么?老夫点什么?我问你,现在是不是工作空间里面是不是多了一个文件?多了一个老付这个文件码是不是OKC啊这里OK,我们把这个老付的这个先看一下里面的仓库里面是不是只有这三个对象,OK干嘛把老也干嘛生成成一个什么对象不对怎么生成。
22:14
Get什么get哈西干什么什么文件?老是吧,一圈回之,是不是给我生成一个哈希,是不是这个哈希不是已经作为一个介值了,找你,我问你这边是不是多了一个2C开头了,那我就在了,你任意给我挑出一个get的对象来,比如说你挑3C,三是不是只能代表TXT.tx.TX1它的第二版本。他有老。他有老夫的信息吧?有没有没有,现在我们整个项目长什么样,整个项目里面几个文件了。两个文件了吧。是不是两个文件了,从前到后是不是只创建了两个文件,可是你挑出你们的任何一个电子,它是不是只用来存储内容,能代表我项目的快照吗?我项目现在快照是不是就应该是是什么?
23:11
是不是两个问题啊,项目的快照就是把它拍成干嘛?拍照拍下来呀,是不是我项目的快照是不是就应该是这两个文件啊,可是你每一个给的对象是不是只能代表一个文件。你能代表项目的扩张吗?不能,说白了,给的对象只能存储量。Gay的对象只能存动的,它并不能代表我们一个版本。能不能接受,能不接受,你现在不管什么,我问你最起我一个的该有两个文件了。现在你每个规定是不是只能代表一个文件啊?是不可能代表一个版本的,接不接受,接不接受,OK,还有一件事情,你想一想,每一次我们去访问的人都要记这个,哈希,你说累不累?我们会几号是吗?不会。得不到。说白了,K的对象现在有两个问题。
24:03
哥们,第一个记住文件的每一个版本,你看是不是文件的每个版本,是项目的每个版本吗?不是,是不是,记住文件的每一个版本锁定的哈希值并不。现实懂不懂,你们要去理清一下我课上讲的版本的这个概念,我课上讲的这个版本的概念是不是我们项目的一个版本?而不是我文件的一个版本吧,懂不懂我们说项目处于比一版本,项目处于比二版本。不是你文件是第几个版本,你文件一次修改是不是很有可能就是一个版本。懂不懂,OK啊,这个强调了,而且在这中文件名被并没有被保存,我们仅保存了文件的内容。是不是在的。你看我们刚刚去保存这个test t ST,以及保存老附点TST,你看这整个get的对象里面有没有去保存文件名。
25:00
没有,你打开这个给你对象,你通过看命令打开这个给你对象,你拿到是永远都是文件锁定的内容。懂不懂,没有文件名,咱们是不是就没有办法通过文件名来干嘛?读取数据,咱们是不是只能通过这个哈来读取数据,OK好OK,那这个事情要不要解决。要解决方案是什么呢?是对下。啊,而且当前操作都是对本地数据库进行操作,是不是压根都没有涉及到展程去,咱们是不是直接把工作目录里面内容直接塞到版本库去了,有没有经过去啊,没有经过。能理解啊,记得上我们说讲get最基本的流程,它应该是不工作目录到展存区,展存区的展存区代做什么版本库。是不是现在咱们上来是不是直接工作目录跟版本库产生一次交互,OK,好记住这一点,好,这是数对象,好总结一下数对象它有什么用。
26:03
数对象,它有什么用?存内容啊。存文件内容啊。是不是道理啊,数对啊,不给的对象,总结一下GAGA的对象有什么用?是不是存这个数据内容是不是OK,那我们说数对象是不是用来解决这两个问题的?OK,来看一下数对象是怎么做。
我来说两句