在gitlab中新建项目,push的时候提示“pre-receive hook declined”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在gitlab中新建项目,push的时候提示“pre-receive hook declined”相关的知识,希望对你有一定的参考价值。

参考技术A 新建git项目后,直接clone,然后在本地项目文件夹下新建各种文件,然后提交没问题,推送到服务端的时候直接提示pre-receive hook declined,查了下。处理过程如下:

对于新建git项目的步骤应该如下:

1.在gitlab中新建项目

2.在对应项目中,在网页gitlab中add readmefiles(这时会生成master分支)

3.master分支默认是受保护的,需要去掉保护性,或者修改保护性才可以让身份是developer身份的开发者提交。

4.修改完branches属性后,在本地新建文件,然后推送到服务端就正常了。

Centos7下安装了git,也生成了公钥和私钥,把公钥已经拷贝到gitlab的设置中,但是在新建空目录,并在空目录下执行git clone git地址命令时,提示“不能为... 创建工作区目录”,这是由于权限问题导致的,你可能会想,那我sudo去执行不就可以了,这样其实也不行,因为你在gitlab中配置的公钥不是root的公钥,所以,要解决这个问题,就是给普通用户在这个目录的权限设置下:

sudo chmod o+w 目录,然后再执行git clone命令,就正常了。

Gitlab新建项目push报 remote origin already exists

场景:新建项目-push模版项目,因为clone模版项目的时候已经关联remote origin,所以此文记录如何解决此类问题

  • git remote add origin 远程地址.git
    因为已经关联了remote origin,所以需要先删除
  • git remote rm origin
    删除之后在去进行关联,执行步骤1
  • 执行完之后,提交文件会报错 repository ‘xxx.git/’ not found
  • 继续第二步,删除remote origin,重新关联,不同的是,需要把git 的用户名,密码输入到origin地址中,如【http://git用户名:git密码@gitlab.sys.bandubanxie.com/wangchang/mcadm.git】
  • git remote -v 会发现关联的remote origin 已经携带了用户名以及密码
  • git push origin master 执行push,提交代码即可

以上是关于在gitlab中新建项目,push的时候提示“pre-receive hook declined”的主要内容,如果未能解决你的问题,请参考以下文章

Python Flask项目在Gitlab CI中自动打包Docker镜像

解决:Gitlab的developer角色的人没有push权限无法提交(转)

git合并分支成功,但是push失败(remote: GitLab: You are not allowed to push code to protected branches on this pr

GitLab: Push operation timed out

GitLab: Push operation timed out

如何禁止GitLab分支被push