是否可以拒绝一个Azure DevOps组创建主分支的权限,但允许他们在子文件夹下创建分支?
在我的Azure DevOps组织中,在仓库层级,有一个“创建分支”选项,允许用户/组创建分支。我想知道是否有可能在根级别对某个组(Developer)应用“拒绝”权限,但允许同一组在feature/ 或user/ 下创建分支。
我的主要目标是开发人员不能在主分支旁边创建任何分支,但他们可以在文件夹下创建分支。
解决方案
是的,这是可行的,虽然有点隐藏。没有一个易于使用的图形界面来完成这个,但你可以使用 tf git permission 命令通过命令行来设置权限:
Microsoft (R) TF - Team Foundation Version Control Tool, Version 17.14.36721.6
Copyright (c) Microsoft Corporation. All rights reserved.
Modifies the user access control list (ACL) and displays authorization settings
for a Git repository or branch within a Git repository.
tf git permission [/allow:(* |perm1[,perm2,...]] [/deny:(* |perm1[,perm2,...])]
[/remove:(* |perm1[,perm2,...])]
[/user:username1[,username2,...]]
[/group:groupname1[,groupname2,...]]
/collection:TeamProjectCollectionUrl
[/teamproject:TeamProjectIdentifier]
[/repository:RepositoryIdentifier]
[/branch:BranchName]
[/login:username,[password]]
the /branch 选项允许你定位到分支和文件夹。
需要对分支/文件夹进行的命令
以下示例展示了如何创建一个分支策略,以强制执行以下约束:
- 只有main可以存在于仓库根目录。
- 允许所有用户在features/ 和users/ 文件夹下创建分支。
- 管理员将能够在releases/ 文件夹下创建分支。
首先,在仓库根对项目的贡献者阻止CreateBranch权限。
tf git permission /deny:CreateBranch
/group:[FabrikamProject]\Contributors
/collection:https://dev.azure.com/fabrikam-fiber/
/teamproject:FabrikamProject
/repository:FabrikamRepo
然后,允许贡献者在features和 users下创建分支。
tf git permission /allow:CreateBranch
/group:[FabrikamProject]\Contributors
/collection:https://dev.azure.com/fabrikam-fiber/
/teamproject:FabrikamProject
/repository:FabrikamRepo
/branch:features
tf git permission /allow:CreateBranch
/group:[FabrikamProject]\Contributors
/collection:https://dev.azure.com/fabrikam-fiber/
/teamproject:FabrikamProject
/repository:FabrikamRepo
/branch:users
允许管理员在releases下创建分支。
tf git permission /allow:CreateBranch
/group:"[FabrikamProject]\Project Administrators"
/collection:https://dev.azure.com/fabrikam-fiber/
/teamproject:FabrikamProject
/repository:FabrikamRepo
/branch:releases
最后,允许管理员创建一个名为main的分支,以防它不小心被删除。
tf git permission /allow:CreateBranch
/group:"[FabrikamProject]\Project Administrators"
/collection:https://dev.azure.com/fabrikam-fiber/
/teamproject:FabrikamProject
/repository:FabrikamRepo
/branch:main
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。