用户的项目权限决定了他们在项目中所能进行的操作。当用户的权限在项目组和项目中发生冲突时,我们的逻辑是取最高权限。
例如用户在项目组中权限是 Master,在项目中的项目是 Guest,则这个用户在项目的权限取 Master。
若用户在项目组中权限是 Guest,在项目组中的项目是 Master, 则这个用户在该项目的权限取 Master,但是用户在项目组中其他项目的权限仍是 Guest。
注意:保护分支的权限仅限于该保护分支的代码操作。
| 操作 | Guest (10) | Follower (15) | Reporter (20) | Developer (30) | Master (40) | Owner (50) | |
|---|---|---|---|---|---|---|---|
| 创建新的缺陷 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| 写评论 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| 浏览代码 | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| 拉取项目代码 | ✓ | ✓ | ✓ | ✓ | |||
| 下载项目 | ✓ | ✓ | ✓ | ✓ | |||
| 管理标签 | ✓ | ✓ | ✓ | ✓ | |||
| 管理缺陷 | ✓ | ✓ | ✓ | ✓ | |||
| 创建分支 | ✓ | ✓ | ✓ | ||||
| 删除不受保护的分支 | ✓ | ✓ | ✓ | ||||
| 创建合并请求 | ✓ | ✓ | ✓ | ||||
| 管理合并请求 | ✓ | ✓ | ✓ | ||||
| 添加 tags | ✓ | ✓ | ✓ | ||||
| 写一个维基 | ✓ | ✓ | ✓ | ||||
| 推送到非保护分支 | ✓ | ✓ | ✓ | ||||
| 强制推送到非保护分支 | ✓ | ✓ | ✓ | ||||
| 编辑项目设置 | ✓ | ✓ | |||||
| 添加项目成员 | ✓ | ✓ | |||||
| 新建里程碑 | ✓ | ✓ | |||||
| 修改/删除项目tags | ✓ | ✓ | |||||
| 给项目部署密钥 | ✓ | ✓ | |||||
| 推到受保护的分支 | ✓ | ✓ | |||||
| 添加/移除保护分支 | ✓ | ✓ | |||||
| 允许/禁止推送到保护分支 | ✓ | ✓ | |||||
| 配置项目回调钩子 | ✓ | ✓ | |||||
| 重命名项目 | ✓ | ✓ | |||||
| 删除项目 | ✓ | ||||||
| 修改版本库路径 | ✓ | ||||||
| 切换可见性级别 | ✓ | ||||||
| 将项目转移到另一个名称空间 | ✓ | ||||||
| 删除受保护的分支 | |||||||
| 强制推送到受保护的分支 | |||||||