本文章主要是记录自己学习git时候,面对分支合并,考虑的一些情形,仅供参考。
master分支没做改变,branch1改变,将branch1合并到master分支上。

具体操作如下:

在master分支新建分支first之后,master分支与first分支都有修改。



1、在master分支上新建first分支,然后在master分支上进行修改,并提交到本地仓库

2、切换到first分支,在上进行修改,并提交到本地仓库
3、切换到master分支,进行合并,无法自动合并,查看错误,并手动合并提交

可以看到,上面两种情况冲突是一样的。
需要注意的是,当处理完冲突,提交之后,之前新建分支的那个文件夹里的东西并不会改变。
在新分支上修改了文件,如果没有提交到仓库,那么在主干分支上也是可以看得见修改的内容,只有commit之后,主干才看不见,然后需要git merge。如果在branch分支没有提交,然后直接在master分支上提交,也没啥错误信息。

以上就是面临冲突的问题:
1、主干分支不做修改,然后新分支修改,提交到仓库,在主干上合并,push到远端仓库
2、主干分支有修改,新分支也有修改,手动解决冲突。push到远端仓库。其中又可以分为:
1、主干分支创建新分支后,新分支修改提交仓库,然后主干分支pull了远端仓库的更新,有冲突
2、主干分支创建新分支后,新分支修改提交仓库,主干分支也修改提交仓库,合并有冲突。
3、如果新分支没有提交到仓库,那么主干分支是看得见修改的,此时主干分支可以自己提交到仓库,然后push到远端仓库,但是此种操作感觉怪怪的。
等等。。