git push 报错 pre-receive hook declined

发布于 2023-05-06 19:49:25 字数 1932 浏览 119 评论 0

配图源自 Freepik

今天推送代码到 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 有一个很详细的说明。

Guest - 访客

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

Reporter  - 报告者

可以理解为测试员、产品经理等,一般负责提交 issue 等
可以克隆代码,不能提交,QA、PM 可以赋予这个权限。

Developer - 开发者

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

Master - 主人

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

Owner - 拥有者

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

Maintainer - 维护者

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
21 人气
更多

推荐作者

懂王

文章 0 评论 0

清秋悲枫

文章 0 评论 0

niceone-tech

文章 0 评论 0

小伙你站住

文章 0 评论 0

刘涛

文章 0 评论 0

南街九尾狐

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文