【已解决】Git踩坑笔记[! [remote rejected] main -> main (pre-receive hook declined) error: failed to push some refs to "xxx"]
踩坑
今天使用gitlab踩坑了
目的是要将代码上传到公司gitlab中,组长给我创建好了仓库,但是没有初始化仓库。
我需要将本地代码上传上去,老操作,先在本地代码的目录打开gitbash,然后初始化,提交等一系列操作.
当我要将代码推到远程的时候,报了个错误,查了下百度:意思是我的权限不够,不能将代码推到远程的main分支。在这里卡了比较久,因为我一开始在想是不是由于我本地没有授权gitlab账号,导致上传失败呢?
我记得我之前是配置过sshKey的。但是我还是去重新配置了一遍。
- sshkey配置方式 参考:https://www.cnblogs.com/hafiz/p/8146324.html
- sshKey,使电脑与GitLab服务器进行通信
解决坑
1.意识到是权限问题无法推送之后,我让管理员帮我初始化好这个仓库。然后自己在gitlab的web端新建了一个分支。
2.使用git clone xxx 命令将仓库克隆到本地,这里也踩坑了
- 坑:直接将仓库的链接cv到了gitbash窗口,没有加git clone 命令
3.然后使用下面这个命令就将代码成功推送到了我新建的pzi分支中。
git push origin main:pzi //表示将本地main分支的数据推送到远程pzi分支上,如果远程反之不存在则创建
而使用 git push -u origin pzi却是失败的
参考:(git推送本地分支到远程分支)
https://blog.csdn.net/qq_34821328/article/details/115126422
总结
- 确保gitlab给你的权限是否能够推送到main分支,如果不行,就需要推送到其他分支
- 克隆仓库时,git clone这个命令不要忘记加
- 推送本地分支到远程时,使用上述说的命令解决