【问题标题】:Resolve PR Conflict in Azure DevOps without changing source branch在不更改源分支的情况下解决 Azure DevOps 中的 PR 冲突
【发布时间】:2019-10-15 09:19:36
【问题描述】:

我们在 Azure DevOps 中有两个受限的 git 分支,

  • test UAT 环境分支
  • master 生产环境分支

开发人员不能直接提交这些分支,他们必须创建 PR 来合并他们自己的分支。他们将自己的分支建立在master

如果 PR 被批准,那么它将被合并到test 分支,并部署到 UAT env。如果客户/用户接受 test 分支中的更改,我们将这些 PR 合并到 master 分支以部署到 prod env。 test 分支中的 PR 可能不会被客户接受,然后它不会合并到 master 分支。所以我们不能将功能分支重新设置为test,或者我们不能将测试合并到这些功能分支,因为不是test 中的每个提交都转到master

如果为test分支创建PR时发生冲突,我们必须在不改变源分支的情况下解决这个冲突,并且合并提交必须留在test分支。我们不能变基为test,因为正如我之前所说,并非test 中的每个PR 都会合并到master。所以我们使用这个扩展作为一种解决方法,但它不像 Visual Studio 合并工具那样有用:PR Conflict Extension

是否有任何方法可以在不使用此扩展程序和使用 Visual Studio 合并工具的情况下实现此目的?或者您能否建议另一种解决 PR​​ 冲突的方法,而无需向源分支提交额外的合并提交?

【问题讨论】:

    标签: git azure-devops pull-request merge-conflict-resolution git-merge-conflict


    【解决方案1】:

    其实PR冲突扩展也可以在不改变源分支的情况下解决PR冲突。

    可以看到,源分支是branch1,目标分支是master。 PR 有冲突。

    在“冲突”选项卡中,您可以选择“获取源文件”来解决冲突,并且不会更改源分支。

    完成 PR 后,以下是 master 提交和 branch1 提交。源分支(branch1)没有任何变化。这

    使用 Visual Studio 合并工具解决合并冲突和 PR 冲突扩展之间只有一个区别。分支历史没有冲突解决提交。但这是因为Visual Studio合并工具解决了本地分支上的冲突,并将更改后的文件推送到azure repo,所以只有一个关于更新的提交。

    PR 冲突扩展直接修改了 azure repo 中的文件,因此提交历史将包含冲突解决步骤。

    【讨论】:

    • 是的,我们已经使用了扩展。但它作为 Visual Studio 合并工具没有用。我想知道是否有人对此问题有任何其他解决方案。
    • 你想要什么效果或功能?如果方便,能否提供截图或示例,让我更好地了解您的需求?谢谢:)。
    猜你喜欢
    • 2020-03-27
    • 2014-10-11
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2018-06-30
    相关资源
    最近更新 更多