是否出现 Conflicts(冲突),取决于 commit 修改先后顺序
楼上朋友提到了自动合并,也就是不会产生冲突的情况,举个例子:
master 上面,你有一个 commit,内容是 "1234"
这时候你在 master 基础上创建了新的 branch,叫 develop,那么这个 develop branch 上面也有内容为 "1234" 的那个commit
然后你提交了新的 commit,把 "1234" 变成了 "1234 666",那这个时候你 merge,就不会有冲突
再举个例子,会产生冲突的情况:
master 里面有一个 commit,内容是 "1234"
你在这个 commit 之后创建了新的 branch,叫 develop。那这个时候你的 develop branch 里有第一个 commit,内容为 "1234"
然后你在 develop 里面,提交了一个 commit,内容是 "1234 777"
在这期间,你的 master 更新了,你的同事或者朋友,或者你自己,在 master 上提交了一个新的 commit,把它更新成了 "1234 666"
这时候你再 merge,就会有冲突了,因为 git 发现这两个 branch 有个共同的祖先(ancestor),也就是那个 "1234",但 git 并不知道你现在合并,到底是要 "666" 还是 "777"
回到你的问题,建议你先看下你两个 branch 的 commit 历史纪录,对比一下。看能不能找到类似这样的情况,也就是两个 branch 有一个共同的 commit 作为起始点(ancestor),但之后的 commit 出现了分歧(divert)
如果还是不能解释你的问题,方便的话发一下你这个的 github 的地址