00:00
来,下面我们看一下在eclipse里边呢,我们怎么去解决冲突。因为冲突,其实这个它的出现哈,我们都已经很熟悉了啊,下边我们就主要是。嗯,给大家演示一下,他这个怎么去解决,那么我们这两个工程呢,就姑且代表两个不同的开发人员,然后呢。呃,他们分别呢,去修改他们各自的这个文件啊,比如说呢,一个把这改成这个left。一个呢改成这个,那我们下边的话呢,肯定是要把他们提交到本地户。哎,这是我们说conflict,这是我们这个left。这边呢,Ctrl shift3。呃,T conflict,这是我的right,各自提交到本地库是没问题的啊,就是大家现在呢,你如果跟着视频去学,而且你都是跟着做过来的,你应该在脑海里边得有这个giar工作的这个模型了啊,我们现在呢,不涉及到远程库,只是在本地库里边去操作,本地库呢,这两个工程各是各的本地库,那么互相之间呢,就没有什么影响啊,你你这个你爱爱怎么干怎么干,互相之间呢,井水不犯河水,但是现在呢,你如果推送到远程库,他们是同一个远程库,那么你先推送到远程库就能接受。
01:24
哎,我们看一下啊,有时候他。我们把它的修改呢,推送到远程库。啊,这些信息我们都不用填了哈,点下一步啊,我们推送的呢,还是我们这个master哈,然后呢,点下一步。啊,这个反正联网的时候啊,就是需要去等我们这儿有一些这个历史记录哈,需要去提交的,然后呢,点finish。呃,这是我们去推送到远程库栏。呃,等这个条读完。这个过程必须得保持这个网络是通畅的啊,你中中中途如果断网的话,这个就操作不成功了,然后是点C。
02:07
呃嗯,那么下一步呢,我们右边呢,你要是再想这个,他也想去做这个推送的话,当然我们都是工程这个级别的吧,咱们一样的去操作哈。嗯,比如说push branch master。他呢,我们说这个远程库呢,就不能够去接受了。一会儿呢,会给我们返回一个错误的信息。嗯,大家这时候注意看哈。哎哟呵,放的太大了。就是我们看这。就这个图标呢,这个是这个代表分支是吧,它在这个分支的图标上面呢,有这样一个圆圈,中间有这样一个符号,这不是表示阻止表示拒绝嘛,哎,那这个时候呢,嗯,其实就是因为我们现在哈,你不是在一个最新版的基础上去修改的啊,你必须呢,先执行这个拉取的操作,那我们就在这边呢,咱们去给他这个去铺一下。
03:13
啊,它也是需要联网,稍微等一下。呃,把这个内容拽下来以后啊,我们就能够去看到,我们现在呢,就处于这个冲突的这样一个状态。嗯,我们这个文件呢,可以给它关掉了,这个冲突的表现跟我们在命令行里边看的呢,也没有什么区别啊,这是我们本地的状态,这个是人家远程库的是这个状态,从这个地址这也能够看出来是吧?诶远程库的状态,那么你自己需要去做一个取舍啊,解决这个冲突的话呢,我们当然可以是把这些去掉是吧,我们人为的去掉,诶,然后呢,去执行at操作,然后呢再commit,那么我们现在呢,看看它图形化界面怎么去解决哈,在这个文件上面点右键。
04:02
嗯。啊,这里边你看有一个墨指图啊,这个合并的工具,打开这个合并的工具,它可以把我们的内容和远程库的内容呢,去做一个对比,呃,方便你方便你更清楚的看到啊,双方的这个差异是什么啊,你到底是在哪个地方上有分歧,那么我们代码少,我们现在就这么两三行就无所谓是吧,但是你代码如果多的话,好几十行,好几百行,那你这个呢,我们对比着看一下,还是很有必要的,这左边左边右边这两个窗口哈,你看呃,这个是。这个是我们这边的,嗯。这个他看的这个不是很明显哈,他这个他这儿只是显示了一个这个,呃,版本的这个索引的这个哈希值,那么这两边哈,我们左边这个呢,是可以去改的,但是这个右边呢,当然你不能去改啊,右边这个不能去改。
05:02
我们右边呢,你可以去复制,可以给它粘到这个左边来,然后呢,CTRLS可以去保存啊,那么我们把它关闭了以后呢。其实我们想回想一下我们命令行里边怎么做的哈,你需要先艾把它标记为已解决,然后呢再用get commit这个命令不带文件名去进行操作,我们在这儿呢,还是ctrl shift3。调出这个界面,把这个文件呢,你看我们拽到下边,它自然就标记成这个状态了,相当于呢,这个冲突呢,就标记为已解决的状态了,而我们这边呢,嗯。他在这儿呢,自动的去给我们生成了这样的日志的信息啊,就是这个conflicts曾经的这个文件上面会有这个冲突,你要是不用不愿意用他这个呢,就自己改一改啊,你要是就用它这个呢,我们就直接点这个,哎,所以这个时候呢,你看呃,命令行里面会要求不带文件名哈,但是这个图形化界面呢,就帮我们去屏蔽了这个细节了,我们这边呢,就操作呢就可以,这个粗略一点也没关系,当然下一步呢,需要把它给推送到远程库啊,那么其实再往下呢,就都是常规操作了。
我来说两句