在开发中,我们最常碰到的问题是我们的冲突合并,那么此时我们来看下冲突合并一般都是怎么解决的:
1:首先在master分支下新建一个Test.java文件,提交至本地库后,此时创建我们的hot分支,hot分支会自动拷贝master分支下的Test.java文件,并且Test.java此时默认提交到我们的hot分支下的本地库。
原始Test.java文件(也是我们master分支下提交的第一个Test.java文件版本),如下图所示:
2:此时对我们的hot分支和我们的master分支下的Test.java文件做修改,并分别提交至本地库当中,修改如下图所示:
hot分支做的修改:添加System.out.println("hot test");这句话
master分支所做的修改:添加System.out.println("master test");这句话。
3:那么当我们在master分支下合并hot分支的时候,此时便会发生合并冲突,原因是我们的master分支和我们的hot分支都对我们的Test.java文件进行了修改,git自动合并的时候不知道要怎么合并,所以只能人工合并,如下图所示:此时需要点击Merge进行人工合并
4:点击Merge之后,此时会出现如下界面:
左边标红的为我们master分支冲突的部分,右边标红为我们hot分支冲突的部分,中间为我们不冲突的代码区,叉号代表不要我们这个发生冲突的代码,》《代表需要我们发生冲突的代码,并将其合并到我们中间未发生冲突的代码区,合并完成后点击Apply即可。
5:合并完成后,此时我们可以看到我们maste分支下的Test.java文件此时便合并成为了我们想要的代码:
此处我们可以看到当我们手动解决了我们的合并冲突后,我们合并完成后的Test.java文件会自动提交到我们master分支下的本地库当中去,并且在Git下的Log日志文件中可以看到合并的一个过程。