Azure DevOps Server:Git权限设置
Azure DevOps Server 权限概述
在Azure DevOps Server (之前名称为TFS)中,权限是一个比较复杂的概念。从权限层级上来说,包括服务器级别、团队项目集合级别、团队项目级别和对象级别。
其中的对象级别,是指对TFS系统中具体的每种类型的数据、或者每个具体的数据,对于不同的成员(或组)可以设置不同的权限。
Git权限概述
对于Git库这个特定的数据对象,在Azure DevOps Server 中又分为代码库级别权限、库级别和分支级别的权限设置。就是说,可以针对不同的人员在不同的数据级别上设置不同的权限。
下面我们就对每种不同的权限和权限的作用级别,做一个表格说明:
|
权限名称 (英文) |
权限名称 (中文) |
说明 |
存储库 |
库 |
分支 |
|
Bypass policies when completing pull requests |
完成拉取请求时绕过策略 |
可以通过选中覆盖分支策略来选择覆盖分支策略,并在完成PR时启用合并。 |
√ |
√ |
√ |
|
Read |
读取 |
可以克隆、提取、拉取、和浏览库中的内容。 |
√ |
√ |
|
|
Remove others' locks |
删除其他用户的锁定 |
可以删除其他用户设置的分支锁。锁定分支会阻止其他人向分支添加任何新提交,并阻止其他用户更改现有提交历史记录。 |
√ |
√ |
√ |
|
Rename repository |
修改库名 |
可以修改库名 |
√ |
√ |
|
|
Manage permissions |
管理权限 |
可以修改库或分支的权限 |
√ |
√ |
√ |
|
Manage notes |
管理说明 |
可以修改说明(notes),注意notes不是commits |
√ |
√ |
|
|
Force push (rewrite history, delete branches and tags) |
强制推送(重写历史记录、删除分支和标记) |
可以强制更新分支、删除分支和修改分支的提交历史记录。可以删除标签和注释。 |
√ |
√ |
√ |
|
Exempt From policy enforcement |
免除策略 |
可以绕过分支策略并执行以下两个操作: |
√ |
√ |
√ |
|
Edit policies |
编辑策略 |
可以编辑存储库及其分支的策略。 |
√ |
√ |
√ |
|
Delete repository |
删除库 |
可删除库;默认用户可以删除自己创建的库 |
√ |
√ |
|
|
Create tag |
创建标记 |
可以新建、推送标记 |
√ |
√ |
|
|
Create repository |
创建库 |
可以创建新库、分叉库;创建者自动用于新库的全部权限。 |
√ |
||
|
Create branch |
创建分支 |
1. 创建或发布新分支;缺少这个权限不影响用户在本地创建分支 |
√ |
√ |
|
|
Contribute to pull requests |
参与拉取请求 |
可以创建、评论和投票请求。 |
√ |
√ |
|
|
Contribute |
参与 |
1. 在存储库级别上, 这个权限没有什么意义 |
√ |
√ |
√ |
|
Bypass policies when pushing |
推送时绕过策略 |
可以推送到启用了分支策略的分支。请注意,当具有此权限的用户进行将覆盖分支策略的推送时,推送会自动绕过分支策略,而不会出现任何选择加入步骤或警告。完成拉请求时绕过策略,推送替换时绕过策略免除策略实施。适用于Azure DevOps服务和Azure DevOps服务器2019。 |
√ |
√ |
√ |
设置权限
您可以从Web门户、tf命令行工具或使用tfsssecurity命令行工具管理每个git存储库或分支的安全性。在默认配置中,项目管理员被授予这些权限中的大部分(这些权限只出现在配置了Git存储库的项目中)。您可以管理所有git存储库或特定git repo的这些权限。下面的截图介绍了如何在Web浏览器中设置Git权限。

- 在项目导航中,查询到需要配置Git库权限的团队项目;
- 选项项目设置按钮,也可以使用键盘快捷方式Ctrl+S
- 选择存储库
- 在存储库中选择任意一个节点的数据对象(上图选择了分支)
- 添加或者选择现有用户组
- 根据需要配置权限后,点击“保存更改”,就可以为用户/组配置好所需要的权限。
微软DevOps MVP 张洪君 http://www.cnblogs.com/danzhang
--End--
Azure DevOps Server:Git权限设置的更多相关文章
- Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)
之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...
- Sourcetree 集成 Azure DevOps Server(Git)
概述- SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具.支持创建.克隆.提交 ...
- Azure DevOps Server 设置项目管理用户,用户组
一,引言 Azure DevOps Server 搭建完成后,关于如何进行项目管理,项目成员管理等,我们接着上一篇文章,继续讲解 Azure DevOps Server 的用户,用户组.首先,我们需要 ...
- 在Azure DevOps Server (TFS) 中修改团队项目名称
概述 [团队项目]: 在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码.文 ...
- 你好,Azure DevOps Server 2019;再见,Team Foundation Server
微软正式发布Azure DevOps Server 2019的第一个版本,作为Team Foundation Server (TFS)2018的升级版本和替代产品. 这是目前市面上唯一一款将产品名称冠 ...
- 微软 Azure DevOps Server 2019 Update 1 (TFS 2019.1)
1.概述 微软在2019年5月发布Azure DevOps Server 2019后不到2个月的时间里,就快速准备好了第一个升级包(2019 Update 1),并计划在几周后发布正式版本.也许你还没 ...
- 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)
概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...
- 在macOS苹果电脑上安装Azure DevOps Server(TFS)代理
1. 概述 MacOS是一套运行于苹果Macintosh系列电脑上的操作系统,是首个在商用领域成功的图形用户界面操作系统.Iphone应用软件的开发人员,都使用运行macOS的电脑或mini盒子进行软 ...
- Azure DevOps Server 入门实践与安装部署
一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...
随机推荐
- Laravel 5.5 + Vue 开发单页应用
上次我用 laravel5.3 + Vue 开发了一个简单的单页应用,这次我打算将其升级到 laravel5.5,在升级的过程中,做一下记录,其源码放在 github 上面,源码地址 开发环境 软 ...
- Spring ApplicationContext(二)环境准备
Spring ApplicationContext(二)环境准备 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 本节介绍 ...
- 重新设置Linux的IP地址(该操作会永久更改ip地址)
1.查看你当前的IP地址 2.进入配置文件进行更改IP地址 3.上图我使用的是ifcfg-eth1 ,然后进行更改这个文件 4.点击“insert”进行编辑改文档,吧对应的IP改成你想要的地址 更改完 ...
- Python 使用for...in...和 while 循环 实现8种格式的 九九乘法表
#九九乘法表 for...in .. #左下角 for i in range(1,10): for j in range(1,i+1): print(' %d×%d=%2d'%(j,i,i*j), e ...
- 【Web】Sublime Text 3 连接sftp/ftp(远程服务器)
在 Win 下常用 Xftp 软件来和远程服务传递文件,但是要是在项目开发的时候频繁的将远程文件拖到本地编辑然后再传回远程服务器,那真是麻烦无比,但是Sublime中SFTP插件,它让这世界美好了许多 ...
- gcc 库路径里同时有相同文件名的动态库和静态库
找不到库的处理方案 有两种方法: 一.可以把当前路径加入 /etc/ld.so.conf中然后运行ldconfig,或者以当前路径为参数运行ldconfig(要有root权限才行). 二.把当前路径加 ...
- python之数据库内置方法以及pymysql的使用
一.mysql内置方法 1)视图的概念和用法 .什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次用的直接使用即可 .为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 .如何用视 ...
- Unity2017新功能Sprite Atlas详解
Sprite Atlas(精灵图集)Sprite Atlas 针对现有的图集打包系统Sprite Packer在性能和易用性上的不足,进行了全面改善.除此之外,相比Sprite Packer,Spri ...
- delphi 中如何处理“幽灵”、“熔断”?(转载)
原始连接:http://dannywind.nl/delphi/meltdown-spectre-and-delphi/ Meltdown, Spectre and Delphi Don’t pani ...
- python中的函数嵌套
一.函数嵌套 1.只要遇到了()就是函数的调用.如果没有就不是函数的调用 2.函数的执行顺序 遵循空间作用域,遇到调用才执行 def outer(): def inner(): print(" ...