git分支管理之合并冲突并解决

git分支管理之合并冲突并解决

(这里的远程代码仓库是coding里面的,合并分支的操作是用github desktop进行操作的)

 

合并冲突发生的情景:当两个分支修改同一个文件时,可能发生两个分支不能自动合并的问题,需要手动解决冲突

下面准备了2个分支,同时都有一个test.txt文件作为模拟使用。

git分支管理之合并冲突并解决git分支管理之合并冲突并解决

此时修改dev分支下的test.txt的内容为

git分支管理之合并冲突并解决

master分支修改的内容如下:

git分支管理之合并冲突并解决

现在进行合并分支操作(先切换到master分支,dev分支合并到master分支),上方的工具栏菜单的Branch---->Merge into current branch....

 

现在master分支和dev 分支都有了各自新的提交,在这种情况下,Git无法执行“快速合并”

git分支管理之合并冲突并解决

git分支管理之合并冲突并解决

 

 

冲突的文件内容如下:

git分支管理之合并冲突并解决

打开冲突的文件test.txt文件对其进行修改(这里使用的这个githubdesktop 快捷键shift+ctrl+F 可以打开对应的本地仓库目录)

修改文件内容的时候,选择保留或者删除的内容,然后再将<<<<<<<HEAD  ----------  >>>>>>>> dev 也删除掉保存后再提交

 

 

*注:冲突文件的修改内容有各种可能性(如dev分支修改的内容和master分支修改的内容都需要保留的情况,亦或者只保留dev或master分支当中一个分支的修改内容 等情况),具体的修改内容须运维同事和开发同事进行沟通确认

 

 

修改后的文件内容如下:此时保留了dev分支修改的1-2行的内容以及master分支修改的3-4行的内容

git分支管理之合并冲突并解决

此时显示没有冲突了,就可以重新提交了

git分支管理之合并冲突并解决

git分支管理之合并冲突并解决

此时合并已经完成了