公司切入Gitlab来管理代码已经有一年多了,其中遇到不少权限问题,如没有权限clone、没有权限提交代码等等,这里作个总结. 权限分为访问权限和行为权限两个层次.测试
这个是在创建项目时就须要选定的,主要用于决定哪些人能够访问此项目,包含3种spa
在知足行为权限以前,必须具有访问权限(若是没有访问权限,那就无所谓行为权限了),行为权限是指对该项目进行某些操做,好比提交、建立问题、建立新分支、删除分支、建立标签、删除标签等.开发
Gitlab定义了如下几个角色:产品
不一样角色,拥有不一样权限,下面列出Gitlab各角色权限it
行为 | Guest | Reporter | Developer | Master | Owner |
---|---|---|---|---|---|
建立issue | ✓ | ✓ | ✓ | ✓ | ✓ |
留言评论 | ✓ | ✓ | ✓ | ✓ | ✓ |
更新代码 | ✓ | ✓ | ✓ | ✓ | |
下载工程 | ✓ | ✓ | ✓ | ✓ | |
建立代码片断 | ✓ | ✓ | ✓ | ✓ | |
建立合并请求 | ✓ | ✓ | ✓ | ||
建立新分支 | ✓ | ✓ | ✓ | ||
提交代码到非保护分支 | ✓ | ✓ | ✓ | ||
强制提交到非保护分支 | ✓ | ✓ | ✓ | ||
移除非保护分支 | ✓ | ✓ | ✓ | ||
添加tag | ✓ | ✓ | ✓ | ||
建立wiki | ✓ | ✓ | ✓ | ||
管理issue处理者 | ✓ | ✓ | ✓ | ||
管理labels | ✓ | ✓ | ✓ | ||
建立里程碑 | ✓ | ✓ | |||
添加项目成员 | ✓ | ✓ | |||
提交保护分支 | ✓ | ✓ | |||
使能分支保护 | ✓ | ✓ | |||
修改/移除tag | ✓ | ✓ | |||
编辑工程 | ✓ | ✓ | |||
添加deploy keys | ✓ | ✓ | |||
配置hooks | ✓ | ✓ | |||
切换visibility level | ✓ | ||||
切换工程namespace | ✓ | ||||
移除工程 | ✓ | ||||
强制提交保护分支 | ✓ | ||||
移除保护分支 | ✓ |
PS: 关于保护分支的设置,能够进入Settings->Protected branches进行管理table
行为 | Guest | Reporter | Developer | Master | Owner |
---|---|---|---|---|---|
浏览组 | ✓ | ✓ | ✓ | ✓ | ✓ |
编辑组 | ✓ | ||||
建立项目 | ✓ | ✓ | |||
管理组成员 | ✓ | ||||
移除组 | ✓ |