gpt4 book ai didi

git - 将分支 merge 并 rebase 到 master 中而不会发生冲突

转载 作者:太空狗 更新时间:2023-10-29 14:47:18 25 4
gpt4 key购买 nike

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

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

问题:

如果我们将功能分支 merge 到主分支中,我们没有问题。如果我们进行常规 merge 然后 rebase ,我们必须再次解决所有冲突。在具有 100 次提交的功能分支上,这是一个主要的痛苦。

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

最佳答案

我认为你正在与这个东西作斗争:Rebasing a Git merge commit

尝试启用 rerere 并使用带有 -p 选项的 git rebase

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

前段时间有一篇文章here但现在似乎下降了。也许您会在 Internet-archive 上找到它。

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

Rerere Your Boat...

即:

With rerere turned on you can merge occasionally, resolve the conflicts, then back out the merge. If you do this continuously, then the final merge should be easy because rerere can just do everything for you automatically.

This same tactic can be used if you want to keep a branch rebased so you don't have to deal with the same rebasing conflicts each time you do it. Or if you want to take a branch that you merged and fixed a bunch of conflicts and then decide to rebase it instead - you likely won't have to do all the same conflicts again.

查看亮点。似乎正是你在做什么。

但是,在您跳出“哎呀,为什么默认情况下不启用它?!”之前小心点,看看这个:https://stackoverflow.com/a/5521483/717732并与 rerere 一起学习 rerere forget。以防万一!

关于git - 将分支 merge 并 rebase 到 master 中而不会发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19957784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com