如何限制特定分支的合并

问题描述 投票:0回答:3

我只想将特定分支合并到特定分支。

一些例子:我想做

master
分支只接受来自
test
分支的拉取请求,而
test
分支只接受来自
development
分支的请求。

如何在 TFS/Git 上做这个限制?

我们有一些关于审阅者和构建验证的政策。

git tfs azure-devops
3个回答
13
投票

如果您有分支机构政策,您可以采取变通办法来实现目标:

在构建定义中(您在构建验证中指定的)添加一个 PowerShell 任务来检查拉取请求的源分支。当源分支不是您想要的时,构建将失败。

例如在下面的脚本中,如果源分支不是

test
,构建将失败,所以在
master
分支构建验证中添加:

$sourceBranch = "$(System.PullRequest.SourceBranch)"

if($sourceBranch -ne "test")
{
    exit 1
}

1
投票

我通过第 3 方网络挂钩集成解决了我的问题。

我开发了 nodejs expressapp 并将其托管在不同的服务器上,我创建了在创建拉取请求时触发的集成规则。我检查我的节点应用程序中的源和目标分支。

之后我将此集成添加到合并策略中。

太酷了,太简单了。谢谢大家。


0
投票

这是一个管道,您可以在构建验证中使用它来完成此操作: https://gist.github.com/robertbrandso/0b33a6caaafca17709b6f075ed237047

© www.soinside.com 2019 - 2024. All rights reserved.