当前位置:  开发笔记 > 运维 > 正文

git rebase是否会产生比git merge更多的冲突?

如何解决《gitrebase是否会产生比gitmerge更多的冲突?》经验,为你挑选了1个好方法。

是否git rebase更容易发生冲突git merge?我之前听过,在这篇文章中引用了它

我在这里基于轶事进行推测,但我怀疑围绕反叛的普遍焦虑源于两个主要的地方:

    由于git rebase的机制,合并冲突更频繁,似乎更难处理

作者没有详细说明这种说法,但这不是我第一次听到它.

我已经听说并理解了这一点,因为rebase通过提交重放提交,你会多次遇到相同的冲突,但我从未遇到过这种情况.也许这种rerere行为现在默认为git rebase

我正在尝试在我的团队中提出一个rebase政策,但如果准确的话,我想解决这个问题.

老实说,我预计会有相同数量的冲突,因为两个分支的更改最终会产生冲突,无论是否进行重组或合并.换句话说,冲突不是由最后分支的收敛引起的,而是由同一行的并行变化引起的



1> Charles Durh..:

如果你有多个提交,你最终会遇到与rebase的更多冲突.这是因为当您进行rebase时,您必须为每个提交解决冲突.这意味着如果您尝试重新绑定一个在您的主服务器之前提交5个提交的分支,并且您在这5个提交中的第一个中引入了合并冲突,那么您将必须在以下每个提交中解决该冲突.

重新定位通常应该解决上面的问题.另外值得一提的是,如果你想压缩到一个提交,那么有一个比rebase更简单的策略.

假设您要在master中合并5个提交,但它只有一个功能可以在一个提交中轻松描述并带有描述性消息.

git fetch
git merge origin/master
git reset --soft origin/master
git commit

如果你只想要一次提交,这将更容易,并完成与rebasing相同的事情.


仅创建单个(非合并)提交的更简单方法是使用`git merge --squash origin/master`和`git commit`.
推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有