保护 Visual Studio Team Services 中的 Git 分支,就像在 GitHub 中一样
Protect Git branch in Visual Studio Team Services like in GitHub
我想保护我的 Visual Studio 团队服务 Git 存储库中的一些分支,类似于 GitHub 中的可能。我的用例与 .
相似但不完全相同
我们使用 GitFlow 与 master
和 develop
分支。这是我的要求:
- 进入
master
分支我只想允许合并提交。所有开发人员都应拒绝直接提交到 master
分支。所有开发人员都应允许合并提交(= 完成 Git-Flow 版本或修补程序)。
- 提交到
develop
分支应该只允许通过合并请求。应允许任何开发人员合并合并请求,但不允许直接提交 develop
因为我们有很多存储库设置应该很容易,或者应该可以通过 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/* 下的所有分支都需要代码审查。
我想保护我的 Visual Studio 团队服务 Git 存储库中的一些分支,类似于 GitHub 中的可能。我的用例与
我们使用 GitFlow 与 master
和 develop
分支。这是我的要求:
- 进入
master
分支我只想允许合并提交。所有开发人员都应拒绝直接提交到master
分支。所有开发人员都应允许合并提交(= 完成 Git-Flow 版本或修补程序)。 - 提交到
develop
分支应该只允许通过合并请求。应允许任何开发人员合并合并请求,但不允许直接提交develop
因为我们有很多存储库设置应该很容易,或者应该可以通过 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/* 下的所有分支都需要代码审查。