00:00
好。大家应该深有体会了,你要是给这个东西都不会,你去公司代码你都没发现。是不是啊,你说你编码再牛逼,你都不知道干嘛,你不知道去公司干嘛,怎么写代码是不是啊,OK,你可能在公司你觉得自己这个技术就很牛逼,上来写代码干嘛。位置写错了,把你的代码干嘛改了,是不是污染了主分支的代码,是不是一看就没经验嘛。能不理解啊,OK,所以说把这些啊,这个我们课上讲了我很多开发当作的经验啊,一定要把它接住啊,让你们以后可以少走弯路的好。OK,来,我们刚刚那个需求再来捋一捋,现在咱们达到一个什么状态了,这是不是我们上班之前干的工作,上班之后的话,是不是被分配到了一个53的一个功能去修改一个。就是测试提交的bug吧,是不是,这算我们正常的工作吧,哎,做着做,做到50%接到电话了,是不是老板那边出问题了是不是,然后呢,你紧急是不是回到马门市去幸灾乐祸的门诊。
01:03
懂不懂,记住你不能说做到I53的时候,你接到电话,在I50上面去创建一个新的文字,有用吗?没有用,一定是回到什么原始的那个代码,哪一份代码出问题了,回到那份代码上面。再来开分支。那么就算记住一定要以主分支。为那个基点懂不懂,围绕这个主分支去什么,去创建其他的什么旁系分支,那么就说好OK,然后怎么办。然后怎么办?我们到这边是不是相当于我们把这个紧急现下给你解决掉了,解决掉之后干嘛。是不是要把你做的做的工作合并到祖坟上面去?那么就说OK,那咱们是不是得去学怎么合并了,OK,好看一下怎么合并。好看呀。好。OK,这边是不是代表你接那的电话,有了getate的帮助,你不必要把这个紧急问题和I53的修改是不是混在一起啊,你也不需要花大力气来还原关于I53问题的修改吧,是不是你干嘛,你是不是要干嘛,然后再添加关于这个紧急问题修改,你是不是只你只需要干嘛,只需要回到主分值,重新开个分值去解决那个bug就不行啊,OK,你不用不用像之前一样了,比如说我代码改到一半,我又要又又干嘛来一个紧急bug,我把这个代码回滚到。
02:28
我干活之前,然后我再去开这个分支,不用吧,你就把那个改了,干嘛干嘛放在里面,待会回来我继续改。那么就说OK,可是这个是我们干嘛了?好,这边是不是去创建那个。紧急分支了啊OK,这你们这个文字我就我就我就帮你去读了啊,太浪费时间了啊OK,那问你现在是不是我们就是这样一个状况。看到没有,是不是就是这张图代表了我们现在的一个状况是吧?这这这是要怎么办?OK,现在你可以运行你的测试,确保你的修改是正确的,然后将其合并回你的什么马分支,然后来干嘛部署到线上是不是什么意思啊,你现在可以使用get。
03:15
末命令来达到上述的目的,你要切回主分支再去默什么?好的吧,懂不懂现在我们在谁身上了?合bug身上,你能让bug去合并组分支吗?不能,是不是你主分支的代码把bug上面的分支代码是不是合并下来,而不是他去合并组分支了,组词关系不搞清楚,因为我们很多分支的创建是不是都基于我这个组分子了,OK怎么办?切之前干嘛看一下天下在比才能切,不然可能有问题了,好干嘛接的什么CH切E切开奥往哪些马的子线。OK,切过去C看一眼这里。
04:03
好,看下状态是不是在这个马上面把主分这个码合并下来,合并命理特别简单定子吗?M1末甲是不是当前分支去合并一个分支啊,哪个分支或的吧。B。能不能接受,OK?一合并OK,他干嘛,他说是不是干嘛,快进有没有看到。Fast forward对吧,快进吧,这种合并叫快进合并来看用这个图咋样。是不是我马齿分支是不是直接就过来了,一开始不是长这样的,什么意思啊,现在问你。现在我来问大家,这里一开始图是不是这样的,你的是不是在我妈的前面是吧?现在我是不是切回到马是不是去合并的后半,他做的事你就直接把master的马拎过来。这会。
05:01
等等,会计合并是不会产生冲突的。懂不懂,问题是现在I13。过期了。过期了,因为我的组分子是已经跑到他前面去了,你53是不是还是从一开始的组分是在码拉下来了,说明你S上面有没有后bug所引起的那个问题。有没有有的。对不对啊,有待会你你是会回到H3,是不是继续修改啊,要不要要master再去合并H3的,要的懂不懂,这个时候就可能产生冲突。懂不懂?好,第一种合并叫什么合并?快进合并大家看是不是就这样的,你看我的holdmark是不是在这边,是不是我干嘛我们要做一次合并之后,这种合并就做快进合并,直接把ma个嘛,从C2这个位置嘛,你看你C是不是直接在我C2 C是不是直接在我C到前面,那什么合并时候是不是直接把这个ma直接拧过来。
06:05
那么就说好,OK,好,问你现在关于这个紧急问题的方案吧,问你现在是不是我们本地的分支。也就我们本地主分支的代码。是不是已经解决后bug了,那后8UG能不能删了,可不可以删了,没用了吗?功能已经干嘛做完了,做完功能把这删掉,留着没意义的。懂不懂反而占了你的内存空间,懂不懂OK怎么办?干嘛什么三分杠低,能不能小小的杠低没问题,因为它已经合并了,走里有没有删掉,删掉了看是不是就干净了。是不是这个时候OK,是不是你本地的主分支是已经成熟的代码了,OK,现在只是你电脑是成熟了吧,OK,你还得把这个主分支推断吧。
07:01
推到月城了。这一步咱们先不管,因为咱们是不是一直拿,是不是在本地做开发呢,跟我的什么号还有关系吗?现在没有懂不懂,你要知道到这一步就完成了吗。还有最后一步要干嘛,将你本地修改完的代码是不是推到下面去。因为我们线上跑的代码的话,肯定是不是我们远程仓库里面的吧,不可能是你这台这台机上代码吧。那么就说你说现在我们是还一直在本地自己玩的。那么就说OK,好。拿走,咱们暂时先不管,我们做到这步是不是就够了,这事好,相当于这个bug解决掉了,解决了怎么办?切回53,继续学我刚刚的功能吧,那个吧,我就切回去了,给的什么sts,切之前看一眼干净的再切吧,给的什么切out往哪切需53有没有切过来,切过来继续制做我自己的功能,你可以干嘛,这什么get s stas,说明是不是已经提交过了是吧?说白了这次提交是不应该提交的。
08:09
因为我在功能才做了一半。那个提交对象是不是浪费了?就本来不应该提交的嘛,是不是,可是我们为了能切出去,咱们是不是干嘛提了一次,这是不是不太完美,懂不懂啊,待会是不是还有方案来去解决它。因为你做到一半就不应该提交嘛,你做完是不是才能提交,我们说了,你如果说提交对象越多的话,是不是仓库里面放的东西也越多啊OK好,那周,那这个时候我们看嘛,可以看一下BM,其实我们现在也不知道我H53的工作有没有做完,如果时间长了。不太好的,不太好的吧,因为你是提交掉了吧,你过了两过了两天你回过神来,你发现诶A1053个吧,还没解决,迁过去一看已经提交掉了。是不是啊,那你可能认为这个东西干嘛,你写完了,你懂不懂,月底的时候就是说你这个bug还没调掉,扣你200块钱。一句话都没有,确实干嘛?
09:03
确实没做完。那么就说啊,说这种方案也不太好,可是我们可以看下吗?Get老陆可以看一下,哎,确实我们说这边咱们就做了个标记啊,咱们说我们是不是才做到百分之50%呢?啊注释也是可以帮助到我们有没有讲OK好现在你应该觉得了,写代码还是干嘛。这个。这什么,这个仪式感还是蛮强的。是不是你写代码,你光要写代码之前是不是要做很多工作呢?啊OK,好,那我就继续解决V什么。看一下我本地是不是应该有好几个文件,是不是有个I3.tt的VI'm什么i53.tt是吧?OK,按什么I键是不是,比如说我解决是不是OK,我又干了什么两个小时的工作,S53被我干嘛对我百分百的搞定了,可不可以可以OK以好,应该直接冒号WQ保持备注说明是不是S53做完了get ST看一眼周品是不是被修改了,OK那怎么办?Get什么?
10:05
提交怎么提交?什么?Commit,是吧?杠A杠,Message是不是第七次了?第八次,今天不是最后就是我的第七次吗?是吧,是第八次塔for谁?说这个53.tst是个码。百分百是不是OK。OK。你看我们这边是不是,你看第六次负H五十三百分之五十啊OK,好一圈回车是不是过来了,C是什么撸啊,看一眼周点有没有过来,有没有过来,有过来是不是他们俩位置换了吗?你看主分子是在这边是不是S53是不是从从是不是从这边出去了,可是我说S是一个过期的分子,好,它是一个过期分。
11:00
好看一下,那现在H53做完了,可以看ST us看一下H53是不经做完了,好,我们来看一下我们改的代码,是不是改了X53的代码I50。哎,需要53的代码,大家看我们刚刚去处理什么,刚刚我们在处理这个hot fix时候,我们改的是谁。是不是改了A里面的是不是加那个VR这边是不是要干嘛。是的。看是可以看到,走这边我们去。啊不对,我们这边是动什么V3是不是。Fix或者bug,因为你在这个上面做的功能的话,是不是S53里面是看不到的,确实看不到的吧,OK,可是它里面有没点点S有没有有如果说你改这个X53这个代码也要去需要动到a.TT的,有没有可能。
12:00
你们可能有这个时候就会有问题,我VM给点什么。是吧,我不知道你刚刚是不是处理hold fix这个话是不是干嘛。是改了一点,有没有可能的,有按键嘛,我这边也要动什么。a.TST吧,是不是也是一笔300本,这个是for什么I53能不理解啊,好,我改完之后冒号WQ保存之后,到这一把我整个H53全部处理完。那么就说好,所以干嘛,那我要不要再提交一次给是什么。At。Get,直接commit就行了,Commit-A杠什么?Message是不是第七次提交,第九次提交或什或X什么。说53是不是我用干嘛。负X53.tst是吧?OK,干嘛我们说这边要写个这是吧,OK,这是R1啊red是不是真正的百分百。
13:03
OK是吧?FOR53 to干嘛?To,嗯,打布丁嘛,Pat PA。PA为C,他不丁派是不是a.T点是吧?哪个版本是不是B3是不是格玛,是不是去实现的真正什么真正的百分百。能不能看到啊,他这个日志的话,你可以写的更详细一点。懂不懂你,那你怎么写中文。都可以的,懂不懂有些公司很变态,他只让你写英英文,不让你写中文啊啊,有些同学不知道要头疼了,我看了两个单词都费劲,你还让我写单词好OK,这里C这里看一下这知识。这里好,是不是到这边了,好,我问你想想现在是不是S53真正的处理完了,已经是真正的百分百了吧,开始问你这个时候要不要切到马分把它合并掉。
14:03
有没有冲突?有,因为你马本是也是改了a.TST是不是也是一三同一行代码吗?为什不还一样要要不要产生冲突了,要快进会不会产生冲突。快进会不会产生冲突?刚刚是不是做了一次快进合并,快进合并会不会产生冲突?不管。因为你会计合并是不是直接跑到master啊前面去了,现在很明显,你看你这个master在我的后面吗?我在是不是两个分叉呢,对。会计合并什么意思啊?快进合并的话,就想是不是从这边合并hot fix是不是一个快进合并,他们俩是不是还是在一条主线上面的,懂不懂现在一个什么情况,现在咱们是不是改成。看一下这里往下是不已经到了这个情况了,这时候合并是不是马要去合,合并这个H53还是快进合并吗?是不是很明显,是不是两条分子上的事情了。
15:05
那有没有两个并行的分支,有没有可能改到一行代码?有没有有。这时候合并干嘛?就会有冲突,这叫典型合并,懂不懂来看怎么合并?C肯定怎么合并,Gets合并要不要回到主分值,要get什么check out往哪回master所,你是不是回去了,然后怎么办?怎办?去和人家呀,我现在是不是在这了,你把它合过来,合完之后把它删了不就行了吗?这叫过河拆桥,用完你这个嘛,就把你删了。是不是啊,可是合的时候还有点问题,怎么合给你什么?墨减me末什么分之X53是不是走你合过去,OK,这这干嘛?
16:02
你发现在哪边,有没有合过来?有没有合过来,有可是告诉你干嘛?Automo自动和b.SPA产生了冲突。懂不懂,而且有没有告诉你哪个文件产生了冲突?有产生了合并冲突在哪边?a.TST你打开a.TST看一眼。你没看到。上面的是不是我们hot那个紧急分支所出现代码,下面是为H53所出的代码,这两行代码要不要全部留下来?要。懂不懂,那干嘛解决一下呗,怎么怎么代表解决。把这个干嘛。把这个删了是不是OK啊,这个是for谁的for bug了是不是,这个是不是也不要是不是OK,这个呢是别看掉是不是,我说这两是我都要E冒号。
17:07
保存退出是不是我在这个分支上面做了修改,这个不是在这个充足的分支上面的。等等,OK干嘛,我给你什么stas是不是有是不是做了修改,那么讲OK好,这干嘛要解决冲突了,大家看呃,我做完修改之后的话,记住啊,冲突的时候的话,你做完之后干嘛直接get干嘛艾,这就代表解决冲突,你刚刚get at那一下就代表解决冲突。那么就说来看一下周年。看一下这个状态是个什么状态,你。是不是tobe tobe commit所你干嘛直接干嘛,Get什么commit干什么干嘛。第十题叫。第四次特别负什么?For吗,冲突?
18:03
冲突怎么拼啊,冲突啊,这里好,OK,提交掉,你看有没有回来,有没回来,怎么解决冲突啊,打开冲突那个文件,分析一下哪些代码留下来,哪些代码不要留,代码能不能合并一下,能不能转换下写法懂不懂,沟通完了之后怎么办?把它get at特一下就可以了,标记你get at就代表什么标记这个重组变干嘛解决掉了,有没有解,看最终分子都上怎么样get撸啊撸,这里有没有看到。你们过来过来不了,没用了。当然你留着什么这个。留着行不行也行,是不是已经用完了,用完了就应干嘛,就应该删了是不是。什么branch b branch-D是不是as不是三?
19:02
这三分之。这个分支还在吧,啊不是这个图是白色的分支是不是就没了,能不接说就像你打那个标记没了。那么这好以后这个分支图有没有可能很复杂很复杂,我给你这个分图,你这个分差一下看啊困难。懂不懂,好一点的公司专门有软件,他会帮你去干嘛,生成这个图,懂不懂你在电脑上面看。对不讲,你在命令航空工具里面看这个图以后肯定很背景的。能接受吗?OK,好,因为现在我们简,我们简单嘛,所以是不是还能看懂,很明显我们工作这边是不是创建这个分支,OK,就是这个分支个码完成功能之后,把那个码合并掉。你们就说好C啊,停掉,那整个工作有没有做完,有今天的工作你就做完了。懂不懂?很有可能两点多工作就做完了吧,然后怎么办,剩下怎么办?学习好看看书不行吧,给你钱看书,你看不看?
20:04
好到这边电型和并没有做完。你看这这是我们刚刚遇到的情况吧,是吧,这是不是相当于是不是这三个对象。都要去看一下的,因为你C5这个对象是不是从这个象上面出来了,根据这三个对象干嘛,最终干嘛合并成一个新的对象嘛,当然有没有可能有冲突的,有有没有可能没有冲突的,有就看你有没有修改到同一行代码对不对,这个冲突我问你。这个冲突是你同事跟同事之间的冲突吗?是这个冲突是不是你自己一个人在写代码数遇的冲突啊,这是到现在我们都没有考虑,我们同事吧,都在考虑我们自己写代码,我们自己写代码也会有冲突啊,因为你可能干嘛多个模块多个文字啊。多个分支合并就会冲动。懂不懂就是你自己跟自己的冲突,这个冲突好解决。是不是因为你知道你之前干,之前干了什么,不好解决的是以后你同事的分支被你拉下来了,因为现在所有的分支是不都是我,都还是我们自己的,以后你同事创建的分支被你拉下来,你们俩改的同一个文件,基本靠后。
21:10
啊,他变我这个代码我要留,我这个代码也要留,那谁来改,你来改,他说你来改啊,你比我厉害,你比我厉害你来改啊,OK,这个文件我先改的,你为什么改我文件还是骂骂骂骂,OK,骂完之后下午吃个饭还是你来改啊好OK,还这个其实跟同事这个分支遇到冲突还是蛮好玩的啊,这个特别有意思的,OK,以后你们就知道了啊,自己分支产生冲突的话,就就自己自己改变是不是啊,OK,你跟同事的分资产时,你可以要挟他,是不是下午茶有可能就来了啊,OK。一杯咖啡是干嘛?跑不了的啊,OK,那你要是改了别的代码呢,那你要会赖啊,特别好玩的,OK好到这边整个冲组就讲完了,懂懂文本内容比较多,自己过来看看啊,OK好到这边这个时间你就讲完。
我来说两句