解决不同分支之间的合并冲突

时间:2020-03-05 11:57:22

标签: git merge merge-conflict-resolution

我的公司有这样的规则:

  1. 功能分支是从主分支创建的
  2. 要素分支完成后,我们进行PR开发分支
  3. 公关获得批准后,合并即可开发
  4. 进行质量检查后,功能分支将合并回master

在尝试进行PR时,此流程产生了许多不必要的合并冲突(尽管如果与master的PR没有问题),我们如何改善情况?

编辑:我的公司似乎可能使用基于主干的开发,而仅将开发分支用于测试新功能的基础(有时功能是由不同的开发人员通过多个分支开发的)

3 个答案:

答案 0 :(得分:0)

我们在公司中执行以下步骤。这可能会有所帮助:

  1. 从母版创建功能分支
  2. 完成功能分支中的工作
  3. 将master分支合并到feature分支,解决所有冲突。为了最大程度地减少冲突,您可以每天一次将master合并到分支机构。
  4. 解决冲突后,检查是否一切正常。然后将其推送到分支机构的远程站点。
  5. 然后结帐以掌握。
  6. 合并从功能分支到主分支的所有内容。由于我们已经合并了从功能分支到主分支的所有内容,因此将功能合并到主分支不会引起任何冲突。

这样,主分支将始终保持干净。冲突将在功能分支中解决。另外,如果您希望将请求拉至母版,请首先将母版分支的最新内容合并到功能分支中。

在夏季,为了最大程度地减少冲突,请使功能分支与主分支保持最新关系。并解决功能分支中的所有冲突,以保持母带清洁。

答案 1 :(得分:0)

您可以通过以下方式改善这种情况:

  • 功能分支应从Develop分支创建
  • 在合并开发分支中的任何PR之后,每个人都应在本地重新建立其开发分支,以及相应的功能分支。
  • 按照上述两个步骤,只有在QA测试和开发人员合并到master分支之后,才能更改Master。

让我知道是否需要进一步说明。

答案 2 :(得分:0)

git代码的最大部分是冲突解决。您的提交和同事的提交越小,git可以自动解决冲突的机会就越大。非常大的提交主要是冲突的原因。

工作流程对我来说看起来不错,并且不应该成为持续不断的冲突的根本原因。即使我同意功能分支应该从开发分支出来。

相关问题