当且仅当相应的git merge
成功且没有冲突时,git rebase
成功且没有冲突是否正确?
答案 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;,以便将分支的提示合并回主线没有冲突。