00:00
现在我们尝试把IS2和I3分支的修改合并到master分支。打开我们的本地数据库。在这里打开G终端。先确定一下当前的分支,当前是在IS3分值对吧,我们要。进行合并,先切换到master分支。Get。注意这个合并的命令默,他这个默意思就是说把。后面参数根的这个分值合并到当前所在的这个分值,所以我们要把其他分值往ma的分支进行合并,先切换到ma的分值,首先先合并。IS2分之。啊,因为嗯。Must分支的这个历史记录。它是。
01:00
啊,只有两个,而我们的IS2呢,是包含了这个master的所有的历史记录。所以可以直接啊进行一个。快进合并。不会有任何冲突,可以看到这是一个快进合并对吧。好。接着来合并S3分之get mor。啊,S3啊,这个时候。就告诉我们啊,自动合并失败有一个冲突。这是因为。我们在合并了这个。合并了这个这个IS2之后,我们的must就是。它的这个分支啊,原来的这个历史记录就会向前移动,就到了这里,而我们的IS3,它并不包含现在MAS的分支所有的历史记录,我们来看看现在must。的一个历史记录。
02:00
是有这些啊,但是我们的IS3并不包含master分支的所有的历史记录,所以并不能进行快速合并。好。而且这里也给给出了我们的一个状态,当前是在mass分支,当前的状态是摸啊,就是合并中的一个状态,那有冲突怎么办呢?我们要手动解决这个冲突,再进行一个。提交即可。来。看一下文档啊,自动合并失败是因为在同一行做了一个修改,所以产生了这个冲突。啊,我们把这个冲突的地方解决一下,首先看一下这个冲突的地方。在文件管理器里面打开我们的文件。好,有冲突的地方,他就用这个,呃,一排像。左的箭头和一排向右的箭头给我们。啊,包裹起来了,中间有一个等号分隔符,等号分割符上面的是我们当前所在分支的一个内容,也就是我们had所在的一个地方。
03:03
记住吧,好,等号下面的这个内容啊,就是我们要合并的,合并过来的那个分支里面内容,而且这里也给给出了我们这个分支的名字是SS3的一个内容,好,这个时候就要取决于呃,我们是全部都保留还是说只保留一部分,然后删除不必要的内容就可以了,好在删除之前我们先看一个命令。Get diff命令,通过get diff命令也可以看一个文件,当前的一个呃,异同的一个情况啊,通过执行这个地幅命令,我们可以看到。这里啊,这两行发生了一个冲突,是在这个位置啊。好。现在我们把。这个给删掉。删掉之后保存。保存内容之后。
04:01
啊,因为我们对啊这个内容进行了一个更改。啊,对内容进行了一个更改。好。可以看一下当前的一个状态,有一个boss Mo范说明就是说这个文件产生了一个冲突,有多人就是都修改了这个文件吗。啊,我们在解决完这个冲突之后。呃,重新提交,重新加入到索引区,然后重新提交到版本库。写下备注啊,合并。三分。回撤打错了,命令打错了。好。这个时候啊,我们来看一看这个历史的这个记录。是什么样一个图?
05:00
因为在这次合并中修改了部分冲突的内容,所以会重新啊合并修改的内容,并且啊进行一个提交,这样我们must的header就往前进,又前进了一步啊,指向到了这里,这种合并并不是fast,而是这个难fast啊,就不是快进合并,这是当前的一个啊历史记录的一个图示。我们执行get get LG看一下也可以看到啊,这个情况就是和我们的图示是很像的,对吧?从这里分支开始,也就是从这个地方开始。啊,有一个这个这个分支,两个分支的一个合并,并且在处理完合并完这个S3分之后,我们生成了一次新的一个提交,啊提交的名字就是我们合并这个分支。这个就是。呃,分支合并的一个情况,如果。我们要合并的那个分值包含了当前分值所有的历史记录,可以直接进行啊,快进也就是使用fast。
06:08
负Y的模式进行快速合并啊,如果我们要合并过来的那个分支,它并不能包含当前所在分支的一个所有的一个记录。啊,那么。就不能进行这种快进合并。能进行快进合并的时候,如果要合进来的那个分支和当前所在的这个分支的啊。内容并没有同时修改同一个文件的话,也就是没有冲突。比如说我们当前分支修改的是文件A,而要和现在分支修改的是文件B,这时候不会产生冲突,我们只需要生成一次新的提交就可以了。但是如果我们现在所在的分支和合并进来的分支同时修改了同一个文件的话,这样就会产生一个文件的冲突,我们需要手动解决文件的冲突以后。再次进行一个提交。
我来说两句