如何防止直接推送到 Azure DevOps 中的 Master 分支

来自 Build Administrator 等组的用户可以从 Azure Devops 访问项目。我需要控制该组中的用户将文件直接上传到主分支。用户可以手动上传文件到除Master之外的所有分支。因为我的主分支是基于拉取请求的。我该如何实施?它需要任何许可吗?

stack overflow How to prevent pushing directly to Master branch in AzureDevOps
原文答案

答案:

作者头像

您的存储库中有一些关键的分支机构,团队依赖始终处于良好状态,例如您的主分支。 Require pull requests 在这些分支上进行任何更改。开发人员将更改直接推向受保护的分支机构将被拒绝。因此,遵循此文档: Improve code quality with branch policies 保护主分支。

此外,请参考此文档: Allow bypassing branch policies without giving up push protection ,请注意,这两个权限(完成拉动请求时绕过政策推动时绕过政策)不应授予您提及的为主分支机构构建管理员组。有关详细信息,请参见: Set branch permissions

作者头像

只是为了理解,

您想让您的用户将他们的文件存储在主分支上吗?他们使用哪个工具上传? Visual Studio 还是只是拖放?

无论如何,您可以继续在 azure devops 上进行一些设置

Azure Devops ---> 您的存储库 --> 分支 --> 选择要修改的分支并单击 3 个点 (...) --> 选择分支策略

作者头像

一旦您启用任何关于默认分支的策略,必须通过拉取请求进行更改。

来自分支机构政策对话

分支策略:注意:如果启用了任何必需的策略,则无法删除此分支,必须通过拉取请求进行更改。

所以要禁用直接提交,请按照以下步骤操作:

1.导航到项目设置(齿轮)

  1. 存储库 > 选择您的存储库
  2. 导航到 Policies
  3. Branch Policies 部分中选择您的默认分支
  4. 启用对您的用例有意义的任何策略。 Require a minimum number of reviewers 可能是一个很好的起点。