没有冲突的合并没有冲突相当于rebase吗?

时间:2017-06-13 20:21:21

标签: git merge rebase

当且仅当相应的git merge成功且没有冲突时,git rebase成功且没有冲突是否正确?

1 个答案:

答案 0 :(得分:4)

不,实际上有一个简单的案例,合并工作正常,但是rebase不会:

...--o--A   <-- mainline
      \
       B--C--!C   <-- branch

其中C是与A冲突的提交,!C是其回归。将branch合并回mainline相当于源树效应将提交B合并回主线,而重新定位同时复制​​C(与A冲突)然后!C(在解决时,也与A冲突。)

当然,在这种情况下,您可以以交互方式进行rebase并简单地同时删除C!C,但在更复杂的链中,您可以看到提交可能与A冲突但是后续提交可以有效地解决该冲突&#34;提前&#34;,以便将分支的提示合并回主线没有冲突。