如何在不应用其策略的情况下将主分支合并到开发分支?
众所周知,分支策略用于保护目标分支。一旦我们在目标分支上设置了分支策略并启用它,提交到目标分支的任何更改都会触发分支策略。
因此,没有这种开箱即用的方式将主分支合并到开发分支而不应用其策略。作为解决方法,我们可以将选项设置Bypass policies when completing pull requests
为Allow
Branches->develop->Branch Security:

使用此设置,此指定用户可以在不应用其策略的情况下将主分支合并到开发分支。
我是否有办法告诉 Azure DevOps,在将 master 合并回 develop 的特殊情况下,应该跳过分支策略?
就像我上面回答的那样,我们无法绕过特殊情况的分支策略,因为我们无法为每个特殊情况定义绕过规则。但我们可以为某些指定用户提供绕过规则。
当我真正想做的只是将以前批准的 PR 从修补程序合并到 master 时,我什至必须从 master 那里做一个 PR 来开发!
最简洁的答案是不。
给个草图吧:

在你的情况下,当你有一个hotfix
基于分支的master
分支时。我们在分支上完成开发任务后hotfix
,会合并hotfix
到master
分支上。在我们完成 PR 之前,我们需要通过我们在分支上设置的分支策略master
。
然后我们需要将master
分支返回到develop
. 您想绕过 上的分支策略develop
,因为我们已经 PRhotfix
提交到主分支时,对吗?
如果是,这取决于master
和develop
分支上的分支策略是否相同(或更高)来确定是否需要从master进行PR进行开发。
如上所述,分支策略用于保护目标分支。如果master
和develop
分支上的分支策略相同,我们可以绕过分支上的分支策略develop
。但是,如果master
和develop
分支上的分支策略不同,我们仍然需要从 master 上做一个 PR 来开发来保护develop
分支,即使我们已经完成了 hotfix 到 master 分支的合并。
总而言之,当我们将master
分支设置为主分支并且master
分支设置了最高规格的分支策略时,我们可以在没有master
PR 的情况下合并到develop
分支,而我真正想做的就是将先前批准的 PR 从 hotfix 合并到 master!
希望这可以帮助。