git - 重新设置主题分支而不是 merge 的缺点是什么?

标签 git branching-and-merging git-rebase git-merge

我目前的模式是在主题分支完成后 merge 到我的主要开发分支。最近看日志有点疯狂,我正在考虑改用 rebase

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

最佳答案

使用 rebase 的主要缺点是你应该(阅读必须)只在本地使用 rebase 。也就是说,一旦推送了某些内容,之后就不要对其进行 rebase 。重写历史很好,很花花公子,但一旦你开始在 Remote 上乱搞历史,事情就会变得非常困惑。

编辑

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

关于git - 重新设置主题分支而不是 merge 的缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000624/

相关文章:

git - 在 Eclipse 中文件上的棕色星号图标是什么意思?

git - Teamcity - 无需构建即可推送更改(在提交消息中)

混帐 |将旧提交移至另一个分支的过去

git - 如何用git打开所有修改过的文件?

java - Eclipse 和 Git - 来自 GitHub 的存储库无法从“导入”菜单中使用(来自 Git 的项目可用)

Mercurial将默认 merge 到命名分支

svn - SVN 是否在任何地方显示分支层次结构?

Git: pull 错了分支,然后推送了 merge 。如何撤消?

Git rebase 和子模块中的移动目录

git - 一步完成复杂的交互式 rebase ?