如何在Azure DevOps中删除合并后的功能分支?

7
我们曾经自动删除拉取请求中的功能分支。但是后来我们需要为功能分支添加分支策略,Azure DevOps会提示“无法删除具有策略的分支”。是否有一种方法可以在远程存储库(即Azure Repo)中删除所有已合并的功能分支?(除了从UI逐个删除它们)

Cannot delete a branch which has policies


你是从用户界面逐个添加策略吗? - Matt
不行。该策略仅适用于 feature/* 分支。 - Lassi Autio
@LassiAutio 你已经解决了这个问题吗? - GaTechThomas
2个回答

6

你有看到我的回复吗?对你有帮助吗? - Cece Dong - MSFT
这里也有同样的问题。知道微软是如何处理这个问题的会很有用吗?难道微软没有使用分支策略吗? - GaTechThomas

2

这并不是直接解决您的问题的方法,但如果您改变使用策略的方式,可能可以绕过它。最重要的一点是

分支策略适用于基于目标分支而不是分支的PR。

根据Azure DevOps文档

构建验证策略在创建新的PR或对现有PR进行更改时,会将新的构建排队,该构建针对该分支。

对于其他策略类型,虽然没有明确说明,但经过一些实验,我发现其他策略的功能方式相同。

错误的做法

如果你和我一样,最初尝试配置DevOps以便为所有分支设置一个策略(在我这里,这是一组默认的审阅者)。这会为您创建的每个分支都创建一个策略,从而阻止任何分支在合并后被删除,如下所示:

无法删除具有策略的分支

“正确”的方式

在我的情况下,我们将临时功能分支合并到一个共同的、长期存在的开发分支中。如果你正在做类似的事情,不要在临时分支上设置任何策略,而是将它们放在长期存在的分支上。当我们开始在开发分支上设置策略后,我们既能够拥有默认的审阅者和评论解决策略,同时还能在合并过程中删除分支:

分支策略和删除分支选项


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接