您当前的位置:首页 > 计算机 > 软件应用 > 开发工具(IDE)

git push 报错 pre-receive hook declined

时间:12-14来源:作者:点击数:
CDSY,CDSY.XYZ

今天推送代码到 GitLab 远程 master 分支上,然后提交失败了,提示如下:

 ! [remote rejected] master -> master (pre-receive hook declined)

究其原因,就是用户权限不足,无法 push 代码到 master 分支上。只要将用户角色设置成 Master、Owner 等含有 master 分支操作的权限即可。

但应根据自身实际情况而定,是赋予可修改 master 分支权限,还是交由 Leader 等含有 master 分支处理权限的其他人处理?

关于 GitLab 访问权限

GitLab 访问权限 - Visibility Level

这个是在建立项目时就需要选定的,主要用于决定哪些人可以访问此项目,包含 3 种:

  • Private - 私有,只有属于该项目成员才有看到
  • Internal - 内部,用 GitLab 账号的人都看到
  • Public - 公开,任何人可以看到

开源项目和组设置的是 Internal。

行为权限

在满足行为权限之前,必须具备访问权限(如果没有访问权限,那就无所谓行为权限了),行为权限是指对该项目进行某些操作,比如提交、创建问题、创建新分支、删除分支、创建标签、删除标签等角色

GitLab 定义了以下几个角色

GitLab 官方文档关于 Permissions(link:https://docs.gitlab.com/ce/user/permissions.html) 有一个很详细的说明。

Guest - 访客

可以创建 issue、发表评论,不能读写版本库。

Reporter  - 报告者

可以理解为测试员、产品经理等,一般负责提交 issue 等

可以克隆代码,不能提交,QA、PM 可以赋予这个权限。

Developer - 开发者

可以克隆代码、开发、提交、push,RD 可以赋予这个权限。

Master - 主人

可以创建项目、添加 tag、保护分支、添加项目成员、编辑项目,核心 RD 负责人可以赋予这个权限。

Owner - 拥有者

可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组 Leader 可以赋予这个权限。

Maintainer - 维护者

权限与 Owner 差不多,但无删除项目等权限。

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐