将分支合并并变基到主分支而不发生冲突

Ken*_*130 4 git

这是我们当前的功能分支工作流程 ->

  • 从 master 创建一个新的功能分支。
  • 将工作提交到功能分支。
  • 当我们努力保持最新状态时,将 master 合并到功能分支中。
  • 如果有冲突就解决。这会在功能分支中创建“将 master 合并到 Feature_Branch”提交。
  • 当功能分支完成后,将功能分支合并回主分支。

问题:

如果我们将功能分支合并到主分支中,那么就没有问题。如果我们进行定期合并,然后重新建立基础,我们必须再次解决所有冲突。在具有 100 个提交的功能分支上,这是一个很大的痛苦。

有没有办法将功能分支合并回master并rebase而不发生冲突?

que*_*atl 5

我认为你正在与这件事作斗争:Rebasing a Git merge commit

尝试启用并rerere使用选项。git rebase-p

如果我理解得很好的话,-p要求 Git 在 rebase 过程中遇到冲突解决方案时尝试重用以前存储的冲突解决方案,并且rerere是一个“插件”,它使 git 能够从字面上“重新使用记录的 REsolutions”。

前段时间有一篇文章在这里,但现在好像被挂掉了。也许您会在互联网档案中找到它。

所以,我刚刚查了另一篇文章,它似乎很好地解释了事情:

重新安置你的船...

IE:

打开后,rerere您可以偶尔合并,解决冲突,然后退出合并。如果您连续执行此操作,那么最终合并应该很容易,因为rerere可以自动为您完成所有操作。

如果您想保持分支变基,则可以使用相同的策略,这样您就不必每次执行时都处理相同的变基冲突。或者,如果您想采用合并并修复了一堆冲突的分支,然后决定对其进行变基- 您可能不必再次执行所有相同的冲突。

看亮点。看起来正是你正在做的事情。

但是,在您跳出“天啊,为什么默认情况下不启用它?!”之前 请小心,另请参阅: https: //stackoverflow.com/a/5521483/717732rerere学习rerere forget. 万一!