00:00
我们来看这个gate的这个安装啊。啊,这个安装我们简单先来看一看啊,其实呢,咱们就是走的一个就是这个下一步OK吧,好,但是呢,我们现在需要注意的是,我们得需要指定一个这个安装路径啊,因为默认的情况下,人家肯定是给我安装到那个C盘对不对。好,来一个叫GI行吗?那我再来一个吧,比如说叫set up啊,安装到这里边啊。好,里边所有东西咱们都保持默认就行了,OK吧,好,大家注意看啊,我们在这里边这个勾是默认挑上的这两项啊,主要保证的是什么呢?尤其是get be here啊,保证的是我们会使用到这个get的这个命令行工具,OK吧,一会通过这个命令行工具啊,可以这个咱们做一个这个初始化啊,咱敲一个初始化命令,好,咱们来看一看这个GI它到底是什么啊,而且我们的这个啊,展存区啊,本地库啊都保存在哪,但其实我们以后在项目中呢,都是使用我们这个idea工具去集成这个get去使用,OK吧,好,嗯,接下来再看一个啊,这一点还挺重要的啊,它也是一个默认项啊,Use vim,这个vim啊,是我们Linux操作系统中的这个啊,编辑工具啊,编辑文本的工具,OK吧,那既然我们的Linux和这个GI是同一个作者,这。
01:35
雷纳斯托瓦斯去做的,所以说我们这个get的这个命令行工具啊,是完整的支持啊,指的是这个编辑啊,编辑文本的这个工具啊,是完整的支持我们Linux中的这个VI或者是这个vim,好,虽然Linux是没学的啊,但是这一项啊挺重要的啊,我还是提一嘴,所以说还是说保持默认,继续next就行了,好,下一项啊,咱们都一起保存默认就行了,没有什么可特殊说明的了啊。
02:04
行,最后咱们这个finish就行了啊,好,我们来看一看,双击它啊。Next。啊,D盘怎么着,Get setup啊,保存到这个路径下。Next next啊,所有都是默认就行了,这里边儿是vim,还记得吧。这软件不是很大啊,70兆。好,安装完之后啊,我们直接来这个finish,当我们安装GI,大家注意看啊,老师来一个鼠标右键,哎,是不是多了两项信息啊。
03:02
是这样吗?我在任意的一个路径下,大家注意看啊,是不是都有这两项信息啊,哎,如果有这两项信息啊,说明没有什么问题,我们还可以通过这个啊命令行工具来查看一下这个GI啊,是否安装成功,以前我们去查看JDK是否安装成功,是不是直接查看它的这个版本号就可以了,对不对啊K啊也是一样啊,咱们可以来一个这个version啊,大家注意啊,这回咱们是几个杠。两个杠OK吧,好,默认的情况下,这个环境变量已经配好了啊,我们随便指定一个路径去查看它的版本号都可以啊,来CMD,咱们来GI杠杠V好啊,咱们现在这个版本啊,呃,2.20.1的这个版本OK吗?老师啊,我这个通过CMD,我没有看到咱们这个版本号怎么办?先别着急啊,老师是不是因为咱们这个GI啊,我这个giate没有安装成功啊,这个先别急,我们现在进入到的是不是我们这个CMD的这个命令行工具啊,对不对,我们一会儿啊giate有giate它自己的命令行工具,OK吧,如果在他自己的命令行工具里边,你直接执行的是这一句get version如果出现了的话,就说明是安装成功的,OK吧,那么如果啊,你在get自己的命令行工具里边,如果没有显示的话,就说明真的是安装失败了,OK吧,好。
04:34
我们继续往下看啊,啊,我们GI最基本的这个应用方式啊,啊,跟我们之前这个理解啊,有点不太一样,为什么呢?因为GI这个作者本身它所涉及的这个软件或者是系统啊。跟其他的这个市市场上这个传统这个软件都不太一样,你看看人的这个理念是什么啊,首先呢,我们有一个这个工作区,这个工作区是干嘛的,大家注意啊,工作区就是我们本地,就本地的这个电脑OK吧,电脑的这个本地的这个硬盘OK吧,就是你写代码的那个地方。
05:08
Workpace工作空间,或者说在idea里边写项目的数叫一个model啊,对吧?好啊,当我开发完了这个代码之后,老师这个开发代码之后,是不是应该给他这个代码提交到本地仓库啊,好,还没到它呢啊,它会提出一个什么概念呢?叫做暂存区域的概念,简称暂存区,我们先把这个代码通过一个命令,这个命令叫什么呢?Giar。ADDA的形式提交到暂存区,然后呢,我这个暂存区里边的这个信息呢,再通过一个命令叫get commit给他,真正的提交到哪儿呢?本地仓库,也就是说中间啊。多过一个什么呢?暂存区,那这个暂存区的作用是什么,它会给我们这个代码提交到本地仓库啊有一个什么呢?反悔的机会。
06:12
OK吧,也就是说你真正提交到本地仓库之后啊,啊,就真正咱们本地仓库这个版本是确确实实是起到了这个变化,OK吧,但是啊,我们先提交到这个产存区,如果确定了之后,咱们再提交本地库,那如果我们不确定的话,还可以使用这行命令进行一个什么操作呢?回退的操作,OK吧,好,我们可以啊,在暂存区中把这个代码回退到这个工作目录中来,OK吧,它有一个反悔的机会,诶也就是说我不提交到本地库了,OK吧,好。那么我们现在来看一看这个背景的这个颜色啊,同学啊,这个咱们现在这个背景是不是一个。蓝色呀,这个蓝色代表的是什么呢?是我们的计算机。OK吧,是我们自己的计算机,你看啊,我们在我们自己的这个计算机里边啊,是不是在自己的计算机里边开发这个代码啊。
07:09
在自己的计算机当中把代码提交到暂存区,在提交到我们自己计算机中的这个本地仓库,所有的这个操作都是在我们自己的这台开发机上执行的,OK吧,但是如果你这个代码啊,别人有需要的话,我们是不是应该把这个代码提交到那朵云上啊?那朵云叫什么远程仓库,OK吧,你本地库中的信息啊,张三本地库中的信息李四是看不到的,他需要把本地仓库中的信息啊上传到远程库,那这个流程叫做一个什么流程呢?叫做push推送的过程,如果我们用命令行工具敲命令的话,叫做guar push叫做推送,OK吧,好,那么如果张三把这个项目上传到这个远程库上,李四和王五这两台电脑是不是还没有这个项目呢?他需要从这个远程仓库那朵云上把什么呢?把这个项目是不是下载下来啊,这个下载的过程啊,我们在项目版本控制工具当中啊,有个专业术语叫做什么呢?叫做克隆。
08:23
OK吗?克隆下来OK吧,所以说从远程仓库上啊,克隆下来咱们这个项目OK吧,好就相当于下载咱们这个项目,但是如果某一个文件我有了。但是呢,我需要重新的从远程仓库上下载一版,需要更新我当前的这个文件,这个过程叫做什么呢?叫做破拉取。啊,名词比较多嘛,来反映反映同学们啊,我现在啊,首先我在自己电脑上啊,比如说我先写写了一个项目行吧,写了一个项目,我第一步我需要把这个项目干嘛呢。
09:07
老师,我要把这个项目扔到云上能行吗?你必须一步一步来,你不一步一步来,你上传不到云上能理解吧?好,那朵云叫什么远程库啊,对不对,还没到他呢,先干嘛,把你的项目干嘛。哎,上传到谁呢?展存区上是这样吗?好,暂存区是可以给我留给我们一个反悔的余地,是这样吗?好,然后展存区上的这个内容我们可以干嘛呢?上传到本地库上,是这样吗?我们将本地库中的这个项目在干嘛呢?那个词叫什么push叫什么推送到远程库上能理解吧?好,这是我张三干的活啊,李四呢,李四我现在电脑里边空空如也,对不对?好,我需要从远程库上把张三上传的一个项目给他当下来,这个叫做是一个什么过程?
10:06
克隆的过程,克隆克隆的过程OK吧,把这个项目克隆下来之后,我也开发,开发完之后,诶,我再把这个我的新文件是不是push推送到这个远程库啊好推送到远程,李四也进行开发啊,推送到远程库,诶李四开发完之后,张三需要更新这个文件对不对?因为张三机器里边是不是已经有这个文件了,我需要重新更一版,那这个过程叫做什么?铺叫什么拉取OK吧好,也就是说以前从没有到有的过程叫克隆,以前有,但是需要更新,叫拉取OK吗?好,那如果咱们用命令的话啊,咱们就是get push,这命令超级简单啊,Get clock以及get push,当然了,我们在这个idea当中啊,肯定都是通过我们这个点点图标对不对?能点图标谁敲命令啊对不对?好啊,所以说我们都是以点图标的形式来进行的,OK吧,好。
11:11
我们这个工作流程啊,代码先提交到展存区,再由展存区提交到这个本地库啊好,接下来老师对于分支啊做一个啊相应的这个说明啊,啊以后啊,我们有可能会接触到啊这个好几个好几十个人的这个大团队,你在这个团队当中啊,其实一个这个非常非常大的项目,有好处又有不好的地方,那好处是什么呢?就相当于让咱们这个见过一个市面是这样吧啊见过一个市面,就比如说啊,以前老师做一个项目,比如说四四十多人啊,哎,我就这这个这个项目啊,就当然没没上亿OK吧,但是啊,这个好几千万肯定是有的,是样吗?好,但是但是后期二期三期加上啊就上亿了啊,但是你就觉得啊,诶做这个项目很高端,是这样吗?诶,我就相当于见过世面了,但是呢,他不好的地方在于什么呢?你在这个团队协作当中啊,哎,其实你分配的这个任务啊,其实属于这个,这项目太庞大了,你就。
12:12
属于一个什么呢?其中的这个1/40的这一个角色而已,能理解吧,其实你对于这个项目的这个贡献度来讲的话,你没有那么太高的这个成就感,真的是这样,OK吧,好,甚至有很多东西你是接触不到的,因为分工肯定是明确的,OK吧,但如果以后咱们入职之后啊,参与到了这样的这个团队当中之后啊,我们一定会做这个分支的,给大家举个例子,我们这个分支啊,分成主干和支线啊,主干呢,咱们一个默认的主干的名字就叫什么呢?Master,主干OK吧,好,比如说啊,当主干将这个项目从1.0版本啊,咱们上传到2.0,一直到推送到咱们这个3.0版本,是这样吗?哎呀,3.0版本呀,这个项目实在是太多了啊,怎么办呢?我们要建立起一个分支,大家注意啊,建立起一个分支,让这个分支的这个开发人员跟我们主干的开发人员同时进行开发,OK吧,啊是这样啊,主干也开发啊,给他做一个分支,分支也开发,OK吧,然后分支有分支自己的版本,看到没?
13:22
当分支,这个是分支的这个第一个版本,分支的第二个版本,分支的第三个版本,诶东西太多了,分支下边还可以继续的创建分支,OK吧,好,那这个相当于二级分支的第一个版本,第二个版本,第三个版本,最终这个第三个版本和我一级分支的四和五这个版本需要干嘛呢?合并成一个版本OK吧好,最后跟我们的这个master的这个啊主干进行最后一个合并,合并成这个4.0版本OK吧好,所以说啊,对于这个分支来讲的话啊,到时候在这个企业里边啊,分配给你哪个枝干,你就按照老师教给你的这个形式啊,也就是说咱们一会儿要用这个idea去操作这个GIOK吧好,根据这个你这个枝干的这个身份啊,正常去操作咱们这个啊,操作咱们这个项目就行了,OK吧好。
14:22
行多条线啊,同时推进这个多个任务啊,就是我们这个分值的这个目的OK吧,好,我们接下来以命令行的方式来操作这个本地库啊,我们来看一看啊,通过咱们这个点击这个右键有一个什么呢。GI be here,刚才老师在安装的时候已经重点说过它了,对不对啊,打开我们这个安装后的giate本地的这个命令行空工具啊,我们在这个gate下啊,创建一个这个test夹啊,我们来观察一下啊。
15:02
来一个比如说啊,这个随便创建个文件夹,好右键来一个什么,是不是下边这个啊,Be here OK吧,好,当然你在这里面啊,你也可以干嘛呢,来一个我们刚才那个叫什么来着,Get。Version OK吧,如果你在这里边啊,出现了就没有问题,刚才那个CMD其实是说明不了问题的,OK吧,你在这里边有啊就可以OK吧,好,那么接下来啊,我们来初始化本地库,什么叫初始化本地库呢?因为对于我们现在的这个夹来讲的话,你可以把我硬盘中的任何一个文件夹来进行一个开发代码的,这这个工作是这样吗?诶,我在哪个夹开发代码,它其实就是属于我们的什么开发区对不对?那么开发区中的代码需要提交到暂存区,再提交到本地库对不对?我们是不是得创建一个暂存区,创建一个本地库啊对不对?所以说首先呢,我们得对咱们这个GI啊进行一个初始化的操作,非常的简单,执行的命令叫做GI。
16:11
我们来看一看。In it OK了,好,我们现在大家注意看啊,在哪个文件夹上执行呢?说test走一个,好,我们来看一看出现了什么,在这个test的文件夹上出现了一个点GI,这貌似是一个。隐藏文件夹吧。对吧,这个尤其是咱们这个男同学啊,对于隐藏文件夹应该是很熟悉的,对吧?好,这个隐藏文件夹是干嘛用的呢。啊。哎,咱们这个隐藏文件夹是用来存放我们暂存区和本地库的,OK吧,但是这个文件夹啊,大家注意啊。
17:00
我们点开之后,大家注意啊,我们的暂存区和本地库是以GI自己独特文件的这个方式来呈现的,你不要去改它,也不要去碰它,OK吗?也就是说你暂存区中的信息以及本地库中的信息。我们都放在这个夹里边了,由GI帮我们去做管理,我们需要关心的是什么呢?工作区的内容能理解吧,所以说这个文件夹啊,有就行了,你不要去动它,OK吧,好。好,接下来我们来看一看啊,工作区的这个目录啊,那大家注意啊,任何目录啊都可以都没有问题,暂存区呢啊,再点get目录下,暂存区有一个这个撤销的这个余地,反悔的余地对不对?好呃,如果工作区中的代码啊这个啊提交到暂存区,那么我后悔提交了,那么我们暂存区是不是还可以回到这个工作区啊对不对?好,那么如果确认了暂存区中的内容,可以将暂存区中的这个代码啊给他提交到什么呢?
18:09
本地库中OK吧,本地库中啊,其中咱们这个点G目录啊,就是为了存放咱们暂存区和本地库的,很简单吧,好,它主要简单在哪呢?主要简单在这个展存区和本地库啊,点GI文件夹不用我们去管对不对,GI帮我们管啊,这是我们最方便的地方啊,那接下来呢,我们来设置一个签名啊,这个设置签名的一个作用啊,是为了区分。不同的开发人员的身份。啊,这个签名需要设置一个什么呢?需要设置一个用户名,需要设置一个邮箱老师为什么不是用户名和密码,要不然怎么说这个雷纳斯托瓦斯这个人他脑袋结构跟别人不一样,别人都是账号密码,我就故意跟你不一样,我是什么呢?账号和邮箱OK吧,你这个账号邮箱啊,不能跟这个其他人的这个一样,就是为了区分什么呢。
19:09
就是为了区分不同的这个开发人员的身份,那但是其实对于我们来讲的话,这个无所谓,为什么我们是不是在做开发的时候,我们同一台这个电脑下只有一个人在使用。对吧,我不要说现在我这个电脑啊,这个用完之后啊,我给他进行什么呢?这个撤销,然后再重新登录一个账号,另一个账号来操作,不是因为对于我们现在来讲的话,跟以前不太一样啊,这个资源有限,一台电脑啊,多个人一起去操作,是这样吗?现在我们是不是都是什么呢?一个人对应一台电脑啊,这一台电脑反过来讲什么一台电脑是吧,它只属于这一个人呢,对不对,所以说啊,不用特意的去区分,那老师那这个签名是不是就不用设置了,因为这个电脑它就是我的呀。呃,但是呢,这个东西你还必须得设置,你不设置它呀,我们之后所有的行为都进行不了啊。
20:04
OK吧,好,我们设置这个签名的方式啊,有两种啊,一种是什么呢?对于本地库,你当前的这个项目的这个设置,还有一种是对于系统用户级别的设置,那大家注意什么?系统用户级别设置呢?你在以系统级别用户设置签名之后,我们以后所有的项目都不用再设置签名了,统一使用这个签名,OK吧,好啊,其实就多加了一个什么呀。什么啊,同学们,Global,这个global可不仅仅只出现在这儿啊,以后啊,我们会经常见到global这个单词,但是啊,只要你见到这个单词,说明它是什么意思。全局的意思,系统级别的意思,OK吧,好,我们现在来看一看啊。我把这个东西啊,就直接给他拿过来了,这些命令啊,你不用去背,它没人考你这种东西啊,我比如说我设置一个张三。
21:00
好,我再来设置一个这个邮箱。好,设置完之后,我们可以查一下啊,从我们系统这个用户的这个点get conf这个文件啊,可以去进行一个查看啊,比如说我看看啊。C盘用户呢,用户。我啊。找是不是有一个这个get con呀,同学们。来看看啊。打开。记事本啊,都无所谓啊,确定来看啊,如果你看到他了,说明咱们这个全局签名设置成功了,OK吧,好。呃,那如果你全局签名和我的这个啊,对于我们当前项目这个签名如果都有呢。
22:06
我们经常会出现这种情况,对不对。以谁为主?肯定什么呀,就近原则是这样吗?究竟原则什么意思?以前接触过没?这个东西怎么能没接触过呢?我现在来一个request.settribute。嗯。我现在比如说来一个str,我来一个这个。内啊,等于一个张三。行吧,我再来一个session set attribute。我再来一个name。等于。李四,好,我再来一个a.set attribute。
23:00
Name王五。好,我在JSP里边,我一表达式取一下同学们。如果你把这个隐含对象加上了,那那咱没说了,咱隐含对象省略掉了,我就取这个name,我取的是request域的,还是section域的,还是application生育的,就这个原则,谁越小谁范围越小,取谁的能理解,取的肯定是张三OK吧啊这个是没有问题的啊好,所以说啊,在做咱们这个it行业的时候,就所有的操作,所有的设置都是属于什么呢?就近原则,OK吧好,谁范围越小啊就优先用谁呢?OK吧好,但是现在啊,咱们没有对于这个我们。啊,指定的一个项目设置一个签名,所以说我们现在啊,就只有这个系统级别的签名,所以说以后咱们就是这个张三和张三北京炮弄弄的这个邮箱,OK吧,好,接下来呢,这个老师来介绍一下这个guitar HUB的这个应用方式啊。
24:02
啊,Github啊,就是咱们的一朵云彩啊,是属于我们一个远程的仓库,刚才咱们不是介绍了一个本地库嘛,对不对,本地库中的信息啊,要上传到这个远程库中进行相应的操作,OK吧。
我来说两句