在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