00:00
好了同学们,那咱们接着往下讲啊,咱们刚才讲了一大堆啊,你会发现咱这个gate玩的是本地啊,咱们说过咱们这个gate是不是分布式的这个版本控制工具啊,什么意思啊,咱们说了,哎,我玩的get,包括你无论包括你无论怎么控制这个分支也好,包括版本也好,你都是在自己的这个PC端进行控制。那有同学讲到这有疑问了,那老师你不是说这个在公司里边都是这个团队协作吗?那我应该如何利用这个get来做这个团队协作呢?注意你想如果在你想用这个get来进行团队协作的话,你要用到那个代码拓管中心了,同学们这是什么意思啊,我自己的自己边自己在每个是吧,这是假设是小A,这小B我公司有两个程序员。那我这个小A有自己的V1V2,哎V3,那小B也有自己的V1V2V3,那我应该怎么让他俩进行这个团队协作呢?那这个时候你要用到咱们这个团代码拓管中心,你要把这个代码给他推送到远程服务器,那然后我这个小B是不是也可以拿到这个代码来进行修改了,所以说关于这个团队协作,咱们先给大家讲一下这个get里边都有哪些这个团队协作的机制。
01:15
哎,那我们这个来看一下吧,它分两种,一种是团队内协作,一种是这个跨团队协作,那我在这一块是吧,因为这个讲起来比较枯燥,我借用这个岳步群啊,令狐冲,还有一个东方不败这么一个武侠故事给大家讲一讲,在我GI里边它两种团队协作模式啊,首先啊。在咱们这个get里边,它有,它首先有这个团队内协作,咱们看一看这个团队内协作是怎么协作的啊来,我把这个PPT发一下啊。大家都知道啊,这个岳不群是吧,岳不群作为这个华山派掌门人。那他是不是要开发一个华山剑法呀,那这样一来,那岳不群首先用咱们这个GI初始化了一下自己的本地库,然后在这个本地库里边,诶,就写了一套架构,就是这个华山剑法,那这个华山剑法开发好之后。
02:13
那是不是想给他大弟子令狐冲来学习一下,或者是让这个令狐冲是吧,帮他这个完善一下这个细枝末节的一些小东西,那这个时候怎么办啊?诶那我这个阅不群就把这这个本地库给它干嘛呀,给它利用一个命令叫做push,这个push是推送的意思啊,是这两个字推送,那把这个华山剑法给他推送到这个代码托管中心里边去,就比如说咱们讲那个get half,包括那个马云啊都可以,他会把这个。自己的这个写的这个华山键法给它推送到代码拓换中心里边去,那在这个代码拓中心里边是不是就有了一个远程库这么一个概念啊,那一旦有了这个远程库之后,诶,那我这个是吧,帅气的令狐冲就上场了,他就可以干嘛呀,他就可以把他这个岳不群的这个远程库给它克隆下来。
03:10
克隆就是完整的复制下来,因为刚开始他啥也不会,一点代码都没有,你需要把这个华山剑法的远程库给他整个完整的克隆复制下来,复制到自己的本地库里边儿去。因为你自己做开发的话,是不是也需要自己的一个小小的版本控制啊,你可以创建自己的分支,你可以创建自己的版本啊,是这样的,那这样一来我到我本地库以后,我会干嘛呀,那我就可以修改修改,那就比如说哎,我这个我这个令狐冲是吧,又给这个华山剑法最后加了两招,那加了两招之后呢,你得把这个代码给师傅看一下,看看师傅是吧,是不是认同你这个代码,或者是你认为你写的非常好,你要让让让师傅也把你这两招学会,那怎么办啊,你就可以把自己修改过后的这个本地库再次给他push到咱们这个远程库里边,当然啊,你这个push需要用到一定的权限。
04:06
需要什么呀?需要这个岳不群,把这个令狐冲加到自己的团队里边。就是认识嘛啊,就是首先他得认可你,我把你邀请到咱们这个项目的团队里边,咱们俩是同一个团队的,你才可以往我这个远程库在这push代码啊,总不能什么人物都这push吧,是吧?如如果你是一个这个作为这个黑客来破坏我的代码,我也能让你铺吗?这是不可能的,所以说啊,我先给你来一个认识的过程,就是我认为你是我的徒弟,咱们俩是同一个团队的,你就可以铺世了,那我一旦我这个。我这个。令狐冲哎,也把这个代码给它铺设过来之后呢,那我这个月不群就可以干嘛呀,月不群就可以拉取这个令狐冲修改过代码,利用另外一个命令就是什么呀,就这个po,那我一旦啊,这个月不群把这个代码给它po下来之后,那就会更新我自己本地库代码就说明,哎这个我的大弟子令狐冲又把这个华山剑法给他更新了一版,那这样一来,我这个本地库是不是跟你的本地库,包括这个远程库,他们三个就同步了,哎,那这个就是咱们这个化神建法就更新成功了,那这个比较简单,就是咱们这个团队内协作。
05:24
啊,这个过程比较简单,那我接下来再给大家演示,讲一讲这个什么呀,讲一讲这个跨团队协作。那这个跨团队协作它又是咋回事呢?那我们来放下这PPT啊。就比如说呀,这个岳岳不群也好,令狐冲也好,他俩是不是有一个远程空啊,写了一个华山剑法,但是你会发现这个华山剑法不够好,不够好,什么意思啊,他俩都认为这个华山剑法太次了。那这个时候呢,是吧,令狐冲就找到自己的好朋友,就是这个东方不败,想让人家这个东方不败。
06:00
这个帮帮他们,帮他们这个小团队改一改他们这个华山剑法,把这个华山剑法改成什么呀?改成这个辟邪剑谱,下面都听过吧,哎,这个辟剑谱比较比较厉害是吧?欲练自功,哎,必先自功,就那个神功嘛,那这个首先第一个问题,那同学说,那老师这很简单啊,你把这个东方不败也加到咱们这个团队里边,然后我让你这个帮我改不就行了吗?首先你要明白这个东方不败是一个大佬。他作为这个日月神教的CEO,他是不可能会来到你们这个小小的华山派的,你们不是同一个团队的人,人家只是看在这个令狐冲的面子之上,帮你改改这个代码还是可以的,那怎么玩啊?因此啊,我这个东方不败要干嘛呀,要从这个远程库,就在整个代码通话中心里边,把你岳部群的这个远程库干嘛呀,给你fork fork什么意思啊,叉子啊,把你这个代码给你叉过来,就是作为一个分支吧,给你整个把你的把你这个代码复制一份,复制到我的远程库里边。
07:11
那这样一来,那我这个东方不败就有自己的远程库了,那我既然有自己的远程库了,我就可以把这个远程库干嘛呀,给它克隆下来,克隆到我的本地库。然后我在这个本地库里边给你这个修改这个P邪剑谱,把你这个华山剑法给你修改修改,那我在这个本地库里边是不是也可以自己自自己做自己的版本呢?就是V1,我先给你改一版,没改好再改个V2,再改个V3,所以说大家能看到这个GI,它这个版本控制都是在本地库里边做的,所以说咱们称GI为什么呀,为分布式版本的控制工具,它还是很强大的。那我一旦是吧,我这个。我这个东方不败,哎,把这个辟邪剑谱开发好了,从这个华妆剑法给你改了改是吧,改成了辟邪剑谱,那我干嘛呀,我首先我首先要把我这个本地库的P店谱你干嘛呀,给你铺到我的远程库里边儿,那这样一来,那我这个远程库就是这个辟鞋店谱已经来到了这个位置,那我如何发给这个。
08:15
岳不群呢是吧?岳不群都急得不行了,急于练这个辟邪线谱是吧?那这个时候干嘛呀,他注意注意啊,这个时候我这个东方不败需要发一个请求给岳不群,叫什么呀?叫做这个po request,就是拉取请求,相当于告诉东方,告诉这个岳不群说是吧?约啊,岳不群老儿,你赶紧给我拉取吧,我已经把这个屁简谱帮你修改好了,那这个时候啊,这个岳不群就修就收到了这个请求,当然岳不群是要先审核审核的。你说你帮我开发好了这个辟邪剑谱,那我得先看看你的代码吧,我得保证你的代码确实比我的代码厉害,我才会拉取,要不然我拉群你干嘛呀,是吧,你写了几句骂我的话,我要拉过来吗?所以说这个岳不群需要审核一下。
09:08
一旦这个一旦这个岳不群审核过了以后,诶,那他就可以干嘛呀,他就可以默过来了,把人家这个东方不败写代码跟他代码做一个合并啊,就把人的代码给它合并过来了,那合并过来之后是吧,那然后呢,我这个岳不群就可以把这个远程库的这个辟邪剑谱这个新的代码拉到自己的本地库,那这样一来是不是就可以在家闭门修炼了是吧,拉过来之后,我不仅这个岳不群可以修炼了,那我这个。令狐冲作为同一个团队的人,也可以修炼这个。P鞋简谱了,哎,是这样的,那借用这个小故事给大家讲了一下这个GI里边这个团队协作两种模式一一种叫团队内协作啊,一种叫这个跨团队协作啊。
我来说两句