从“remote rejected”看git角色区别,Maintainer和Devoloper
从“remote rejected”看git角色区别,Maintainer和Devoloper
接上篇,git管理
问题
使用Devoloper权限创建项目,进行push 时显示remote rejected
remote: Resolving deltas: 100% (304/304), done.
remote: GitLab:
remote: A default branch (e.g. main) does not yet exist for xxxx/xxxx
reemote: Ask a project Owner or Maintainer to create a default branch:
remote:
remote: http://192.xx.xx.x/xxx/xxx/-/project_members
原因
Devoloper权限是没有创建分支的权限的,一半来说Devoloper的主要权限是push、clone,但这个有前提,就是repo已经有创建好的branch了,在这个branch进行push 是被允许的。
- 有个误导我的地方,gitlab 的Devoloper权限 是可以创建项目 的,但是不能建branch(作为组内某技术栈软件的负责人,着实权限不够),误导我的是以为创建项目的权限就可以创建分支。
区别
Maintainer(维护者)相比于Devoloper,除了没有owner 角色的增删member和repo的管理权限,基本上其它的都有了
总结(以gitlab为例,说明git核心功能 )
权限能力 | Developer | Maintainer | Owner |
---|---|---|---|
创建项目 | ✅ | ✅ | ✅ |
创建分支 | ❌ | ✅ | ✅ |
推送代码到现有分支 | ✅ | ✅ | ✅ |
删除分支 | ❌ | ✅ | ✅ |
合并请求管理 | ✅ (创建/评论) | ✅ (审核/合并) | ✅ |
保护分支设置 | ❌ | ✅ | ✅ |
添加/删除项目成员 | ❌ | ❌ | ✅ |
删除仓库 | ❌ | ❌ | ✅ |
CI/CD流水线配置 | ❌ | ✅ | ✅ |