个人理解 :代码提交只能是线性的提交代码,比如某一个行代码 只能是一个改变顺序。
一开始master类似这样:
222
3333 22
555
然后你fork了一个develop,修改成这样:
222
4444 77
888
这个时候,develop是可以直接合并会master的,没冲突,因为develop在master后,是对master的修改。
但是你没合并develop,而是改了master:
222
3333 66
555
这时66和77那里就冲突了。因为git知道develop里的4444是从3333改的,888是从555改的,现在的master那个位置还是有3333和555。但是77本来是从22改的,但是现在master的22那里变成66,就有了两个冲突的修改,git就不能把77合并到66那里了。
或者说本来master和develop是一条线上的,但是你改了master,这个新的master就和原来的develop不在同一条线上了。