听说
git rebase
比git merge
更容易产生冲突,这是真的吗?我之前听过这种说法,这篇文章也提到了这个问题。作者只是根据经验进行了推测,但我认为对于git rebase普遍存在的焦虑主要源自两个方面:
- 由于git rebase的机制,合并冲突更加频繁且似乎更难处理。
作者没有详细说明该说法的原因,但这不是我第一次听到这件事了。
我知道因为rebase逐个提交地重新播放,所以可能会遇到相同的冲突多次,但是我从未遇到过。也许现在git rebase
中默认采用了rerere
行为?
我正在尝试为我的团队提出一个rebase策略,但如果上述说法准确的话,我想解决这个问题。
老实说,我想预期会有相同数量的冲突,因为对于两个分支的变化,无论是rebase还是merge,最终都会导致冲突。换句话说,冲突不是由分支在结束时汇合造成的,而是由同一行的并行更改造成的。
git merge --squash origin/master
和git commit
。 - sschuberthmaster
分支的第一个提交修改了foo
文件。而我的分支的第一个提交也修改了foo
文件,这就会在我将分支合并到master
时产生冲突。但是如果master
的第二个提交修改了bar
文件,而我的分支的第二个提交继续修改foo
文件,那么为什么我需要再次解决相同的冲突呢? - Hilikus