git push 报错 pre-receive hook declined

简介: git push 报错 pre-receive hook declined

前言


28.webp.jpg配图源自 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 差不多,但无删除项目等权限。


参考


目录
相关文章
|
3天前
|
开发工具 git 索引
warning: You ran ‘git add’ with neither ‘-A (—all)’ or ‘—ignore-removal’,报错如何解决 git报错 ‘git add —ignore-removal <pathspec>优雅草卓伊凡
warning: You ran ‘git add’ with neither ‘-A (—all)’ or ‘—ignore-removal’,报错如何解决 git报错 ‘git add —ignore-removal <pathspec>优雅草卓伊凡
38 21
warning: You ran ‘git add’ with neither ‘-A (—all)’ or ‘—ignore-removal’,报错如何解决 git报错 ‘git add —ignore-removal <pathspec>优雅草卓伊凡
|
2月前
|
jenkins 持续交付 开发工具
git hook
Hook 机制 用于拦截、修改或扩展程序的行为。通过 Hook 机制,程序可以在不修改源代码或核心逻辑的情况下,向特定的事件、函数调用之前或之后插入自定义代码。Hook 机制通常被用于调试、监控、拦截系统调用、修改程序的行为等场景。
118 65
git hook
|
1月前
|
开发工具 git
git 使用之remote: File [4e21e71a555febaa4dfaaa05cf7eeb606ea96ae2] size 104.090MB, exceeds quota 100MB remote: Please remove the file[s] from history and try again 报错如何解决-优雅草卓伊凡
git 使用之remote: File [4e21e71a555febaa4dfaaa05cf7eeb606ea96ae2] size 104.090MB, exceeds quota 100MB remote: Please remove the file[s] from history and try again 报错如何解决-优雅草卓伊凡
96 3
git 使用之remote: File [4e21e71a555febaa4dfaaa05cf7eeb606ea96ae2] size 104.090MB, exceeds quota 100MB remote: Please remove the file[s] from history and try again 报错如何解决-优雅草卓伊凡
|
1月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
52 18
|
1月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
44 16
|
4月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
327 1
|
5月前
|
存储 开发工具 数据安全/隐私保护
git报错The project you were looking for could not be found 解决方式
git报错The project you were looking for could not be found 解决方式
1158 1
|
5月前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
70 5
|
6月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
6月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
241 4