可见性
代码库、代码组可以通过设置可见性,来约束访问权限。
代码库的可见性
私有:仅代码库成员可以查看该库的信息,其他用户无法访问该路径。
企业可见:企业内成员可以访问代码库。
代码组的可见性
私有:仅代码组成员可查看组下的子组/库列表。
企业可见:企业内成员可以查看组下子组/库列表。
代码库/组角色
用户可以通过在特定的代码组/代码库内为成员配置不同的角色,从而获得对应的权限。成员角色分3种:管理员、开发者、浏览者,具体说明如下:
代码库角色
支持为代码库成员分配三种角色:管理员、开发者、浏览者。
管理员:可以读取、Clone、Push 和添加成员权限到该代码库。
开发者:可以读取、Clone、Push 到该代码库。
浏览者:可以读取、Clone 该代码库。
代码组角色
支持为代码组成员分配三种角色:管理员、开发者、浏览者。
管理员:可以设置并拥有组下代码库的所有权限,以及添加代码组成员权限。
开发者:可以读取、Clone、Push 组下全部代码库。
浏览者:可以读取、Clone 组下全部代码库。
如果用户在代码库和代码组中同时被赋予了不同角色,则使用最高权限级别。如:用户在 a/b 库上,a 组为管理员,b 库为开发者,则在b库的最终权限为管理员。
权限
代码库权限
操作 | 浏览者 | 开发者 | 管理员 |
浏览代码库 | ✔️ | ✔️ | ✔️ |
克隆 / 拉取 / 下载 | ✔️ | ✔️ | ✔️ |
推送 (新建 / 上传 / 编辑) | ❌ | ✔️ | ✔️ |
查看提交 | ✔️ | ✔️ | ✔️ |
评论提交 | ✔️ | ✔️ | ✔️ |
创建分支 | ❌ | ✔️ | ✔️ |
查看分支 | ✔️ | ✔️ | ✔️ |
删除非保护分支 | ❌ | ✔️ | ✔️ |
删除保护分支 | ❌ | ❌ | ❌ |
强制推送保护分支 | ❌ | ❌ | ❌ |
创建 / 编辑合并请求 | ❌ | ✔️ | ✔️ |
查看 / 评论合并请求 | ✔️ | ✔️ | ✔️ |
通过合并请求 | ❌ | ✔️ | ✔️ |
Merge 合并请求 | ❌ | ✔️ | ✔️ |
关闭 / 重新打开合并请求 | ❌ | ✔️ | ✔️ |
创建 / 编辑 Tag | ❌ | ✔️ | ✔️ |
删除 Tag | ❌ | ✔️ | ✔️ |
查看 Tag | ✔️ | ✔️ | ✔️ |
新建 / 编辑 wiki | ❌ | ✔️ | ✔️ |
查看 wiki | ✔️ | ✔️ | ✔️ |
删除 wiki | ❌ | ✔️ | ✔️ |
查看活动 | ✔️ | ✔️ | ✔️ |
查看库成员 | ✔️ | ✔️ | ✔️ |
管理库成员 | ❌ | ❌ | ✔️ |
编辑库(修改库名称 / 描述 / 封面 / 可见性) | ❌ | ❌ | ✔️ |
代码库高危操作(修改库路径,归档 / 解除归档代码库,删除代码库,转移代码库) | ❌ | ❌ | ✔️ |
存储空间管理(存储库GC) | ❌ | ❌ | ✔️ |
分支设置(修改默认分支,编辑保护分支) | ❌ | ❌ | ✔️ |
合并请求设置 | ❌ | ❌ | ✔️ |
Webhooks设置 | ❌ | ❌ | ✔️ |
部署密钥设置 | ❌ | ❌ | ✔️ |
集成服务设置(开启 / 关闭服务,服务设置编辑) | ❌ | ❌ | ✔️ |
代码库成员管理
添加成员
添加成员。仓库管理员可点击左侧菜单中的成员后选择添加成员,检索特定成员(用户名检索)后选择添加。
变更成员权限
管理员在成员列表中,选择库中某个成员,点击角色列的下拉列表即可变更成员权限。
删除成员
管理员在成员列表中,选择某个成员后点击移除成员,二次确认后可删除成员。非管理员可主动退出代码库。
代码组权限
操作 | 浏览者 | 开发者 | 管理员 |
查看组 | ✔️ | ✔️ | ✔️ |
创建代码库 | ✔️ | ✔️ | |
创建子代码组 | ✔️ | ✔️ | |
编辑组 | ✔️ | ||
管理组成员 | ✔️ | ||
删除组 | ✔️ |
针对在代码组中创建/删除代码库、子代码组的场景,需同时考虑全局权限配置。
以创建代码库/组为例:
若全局设置中限制了仅允许企业管理者创建库/组,代码组内除企业管理者外的组管理员或开发者不允许创建库/组;
若全局设置中允许企业管理员和企业成员创建库/组,则代码组内支持作为企业管理员或成员的组管理员和开发者创建库/组;