在 Git 中 rebase 到 Master 之前与另一个功能分支合并

Fra*_*ank 2 git version-control rebase branching-and-merging

所以我试图了解 Git 如何处理某些过程以及一些已经使用的实践。

假设我们有一个 Git 存储库,其中有一个名为master. 我们还有两个从master. 我们会打电话给他们branch_onebranch_two

branch_one已经完成了特定功能的工作。我目前正在开发branch_two. 为了这个对话,让我们假设我不能合并branch_onemaster因为它正在等待其他开发人员的批准。

这是问题:

我需要所有的工作branch_one才能继续工作branch_two

这是我目前的流程:

1) 合并branch_onebranch_two.
2)工作branch_two
3)变基branch_twomaster提交拉请求之前。

哦哦。变基在 30 多个补丁上存在冲突。我认为这是因为合并(步骤 1)改变了branch_two. 我可能假设错误。

显然,我想避免在我的版本控制过程中进行大规模的冲突解决步骤。

所以我的问题:

有没有更好的方法来处理这种类型的过程,其中一个功能分支需要来自另一个功能分支的更改,不包括大量冲突?

Von*_*onC 5

您需要一个由主 HEAD 制成的集成分支:

  • 在集成中合并 branch1
  • 在集成之上 rebase branch2。

如果 branch1 在其验证的上下文中需要额外的工作,请再次在集成中合并新的 branch1 提交。
在某个时候, branch1 将合并到 master 中。

然后,每当您想要验证 branch2 时,首先将其重新设置在更新的集成分支之上。然后将其合并到集成(使用--no-ff:无快进合并)。

最后,准备好后将 branch2 合并到 master。那里没有冲突。

有关此工作流程的更多信息,请参阅 gitworkflow(远优于Gitflow