【发布时间】:2012-10-22 06:49:49
【问题描述】:
我经常听到有人说,与 git merge 相比,使用 git rebase 可以减少合并冲突的数量,但我从来没有找到解释为什么会这样。
当两个人都修改同一行代码时,简单地在另一组更改之上重放一组更改并不能神奇地消除内在冲突,那么是什么让 rebase 更好?
谁能提供一个简单的例子,合并会产生冲突,而变基不会?
更新:经过 3 年的 git 经验,我开始相信我原来的前提是错误的:在 rebase 和 merge 中冲突的可能性相同。然而,rebase 确实使历史更容易理解,并在需要时选择或倒带。
【问题讨论】:
-
实际上,rebase 可以给你带来比合并更多的冲突:考虑两个提交,一个引入一些冲突的更改,另一个还原它。在变基期间,您必须解决一个甚至两个冲突,而合并将完全跳过该更改+还原对。
标签: git merge rebase git-rebase