保护 Visual Studio Team Services 中的 Git 分支,就像在 GitHub 中一样

Protect Git branch in Visual Studio Team Services like in GitHub

我想保护我的 Visual Studio 团队服务 Git 存储库中的一些分支,类似于 GitHub 中的可能。我的用例与 .

相似但不完全相同

我们使用 GitFlow 与 masterdevelop 分支。这是我的要求:

因为我们有很多存储库设置应该很容易,或者应该可以通过 REST 自动化设置 API。

GitHub 可以通过其保护分支设置轻松处理这些情况。我在 Visual Studio Team Services 的 Branch Policies 中找不到任何类似的内容。

我认为分支策略是您在 VSTS 中寻找的功能。

对于您的 develop 或 master 分支,您可能需要选中 "Require a minimum number of reviewers" 框以强制执行通过 PR 进行的所有更改,并阻止直接推送。如果您真的不关心是否有审核要求,您可以选中 "Allow users to approved their own changes" 框 - 但无论如何启用审核员可能是一个很好的做法。

您从 GH 中的受保护分支获得的另一个功能是阻止强制推送的能力。这是通过 VSTS 中的权限控制的,可以在回购或分支级别设置 - 它称为 "Rewrite and destroy history (force push)".

此 MSDN 主题有更多详细信息和设置策略的屏幕截图:https://msdn.microsoft.com/en-us/Library/vs/alm/Code/git/branch-policies

所有这些设置都可以通过 REST 配置。这是政策 API 的 link:https://www.visualstudio.com/integrate/api/policy/configurations

请注意,使用 REST APIs 时,您可以一次为多个分支配置策略,甚至可以为通配符设置策略,即强制要求 release/* 下的所有分支都需要代码审查。