如何限制来自特定分支的合并

时间:2019-05-24 08:40:07

标签: git tfs azure-devops

我只希望特定的分支合并到特定的分支。

一些示例:我想做master分支只接受来自test分支的拉取请求,而test分支只接受来自development分支的拉取请求。

如何对TFS / Git进行此限制?

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

2 个答案:

答案 0 :(得分:1)

如果您有分支机构策略,则可以采取一种变通方法来实现目标:

在构建定义(在构建验证中指定)中,添加一个PowerShell任务,该任务检查请求请求的源分支。如果不是源分支,那么构建将失败。

例如,在以下脚本中,如果源分支不是test,构建将失败,因此将其添加到master分支构建验证中:

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

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

答案 1 :(得分:0)

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

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

之后,我添加了此集成以合并策略。

太酷了,太容易了。谢谢大家。