在Visual Studio Team Services中保护git分支

Rob*_*lis 35 git tfs azure-devops

我只想明确允许开发人员合并到"主"分支.我找到了安全设置的位置,但似乎没有任何东西可以让我说'那个分支,只允许Rob合并到它'.有什么具体指导吗?

MrH*_*ood 41

由于TFS提供企业级Git功能,因此可以非常轻松地保护VSTS中的MASTER.有两种方法可以实现这一目标.

1)Git分支权限

在"版本控制"选项卡下的管理页面中,您可以更改每个已发布分支的权限.您需要在repo级别维护访问权限,但是在MASTER上,您可以将"Contributor"提交权限更改为"not configured".然后你可以只添加Rob ...

VSTS Git Branch权限

哦...总是使用"未设置"而不是"拒绝",否则总是覆盖.

2)Git分支政策

VSTS引入了分支策略的概念.这些分支策略可以应用于任何分支,但传统上应用于MASTER.

VSTS Git分支机构政策

在这里,您可以应用多个策略来反映您的需求...我总是设置

  • 你不能将`Inherited Allow`改为`Not Set`.TFS检测到"未设置"并自动查找父进行继承.如果在父级上设置,则强制该设置. (7认同)
  • 马丁,你能添加一些截图吗?如果你不知道在哪里看,这可能很难找到. (2认同)

小智 9

我发现我必须完成更多步骤才能完成这项工作

视觉工作室在线有两个地方定义组 - 在收集级别和项目级别.

在集合级别,我创建了一个管理组并创建了一个开发人员组.我只希望admin组中的人员对我的存储库中的master分支具有写入权限.

在项目级别,我将开发人员和管理员组添加到项目团队.在项目贡献者组中,我删除了项目团队并仅添加了开发人员组

在项目管理员组中,我添加了集合级别管理员组.

然后在主分支上的版本控制选项卡上,我为贡献者组设置了contrib = deny

由于管理员不是贡献者组的成员,拒绝权限不会应用于他们,他们仍然可以将更改推送到主人 - 直接或通过批准拉取请求