是否git rebase
更容易发生冲突git merge
?我之前听过,在这篇文章中引用了它
我在这里基于轶事进行推测,但我怀疑围绕反叛的普遍焦虑源于两个主要的地方:
由于git rebase的机制,合并冲突更频繁,似乎更难处理
作者没有详细说明这种说法,但这不是我第一次听到它.
我已经听说并理解了这一点,因为rebase通过提交重放提交,你会多次遇到相同的冲突,但我从未遇到过这种情况.也许这种rerere
行为现在默认为git rebase
?
我正在尝试在我的团队中提出一个rebase政策,但如果准确的话,我想解决这个问题.
老实说,我预计会有相同数量的冲突,因为两个分支的更改最终会产生冲突,无论是否进行重组或合并.换句话说,冲突不是由最后分支的收敛引起的,而是由同一行的并行变化引起的
如果你有多个提交,你最终会遇到与rebase的更多冲突.这是因为当您进行rebase时,您必须为每个提交解决冲突.这意味着如果您尝试重新绑定一个在您的主服务器之前提交5个提交的分支,并且您在这5个提交中的第一个中引入了合并冲突,那么您将必须在以下每个提交中解决该冲突.
重新定位通常应该解决上面的问题.另外值得一提的是,如果你想压缩到一个提交,那么有一个比rebase更简单的策略.
假设您要在master中合并5个提交,但它只有一个功能可以在一个提交中轻松描述并带有描述性消息.
git fetch git merge origin/master git reset --soft origin/master git commit
如果你只想要一次提交,这将更容易,并完成与rebasing相同的事情.