重定主题分支而不是合并的不利之处是什么?

问题描述 投票:4回答:3

我目前的模式是,merge主题一旦完成,便会分支到我的主要开发分支中。最近,日志变得有些疯狂,我正在考虑改用rebase

对于主题/功能分支,使用rebase而不是merge可能有哪些缺点?

git branching-and-merging git-rebase git-merge
3个回答
6
投票

使用rebase的主要缺点是您(必须读)只能在本地使用rebase。就是说,一旦有事情被推动,就不要在此之后重新建立基础。重写历史记录既好又花哨,但是一旦您开始在遥控器上弄乱历史记录,事情就会变得非常混乱。

编辑

另一个缺点是,真实的历史实际上已经丢失。这意味着,除其他事项外,不可能(轻松地)返回主题分支,因为它看起来像是主分支的一部分。这也使还原更改变得更加痛苦,因为您必须一次选择一次提交,并尽力记住哪些提交来自原始主题分支。如果您使用交互式基准,或更糟的是-压缩提交内容-那么这可能会非常麻烦。


2
投票

缺点包括在开发过程中修订不符合其实际状态,失去使用--first-parent等标志隐藏合并之间的提交的功能,并且如果您打算以后重新建立分支,则很难共享您的分支。如果您的日志看上去很疯狂,请再次查看git help log。可能会有多种标志组合,使它看起来像您想要的样子,而不会在需要时牺牲灵活性。


0
投票

另一个原因:解决冲突通常比较困难。如果一个功能中有多个提交,则可能多次更改了相同的代码。如果发生冲突,则必须多次修复。通过合并,您只需一次。

© www.soinside.com 2019 - 2024. All rights reserved.