、、git
图 1-1github
报错:failed to push some refs to 'http://*******.git'。ide
一痛瞎踅摸以后,远程控制电脑,在H电脑上,从新创建了一个test项目,以后走正常流程:gitlab
echo "# 123" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:¥%…&&*@/123.git git push -u origin master
push成功没有问题,说明GitLab库级别配置,以及本地GitBash客户端没有问题。因而从新按照这个流程,本地新建文件夹,从新操做。ui
操做结果同上图1-1所示,失败了。this
分析:spa
1.git clone下来没有问题,commit本地仓库没有问题,就是推不上去,初步怀疑这个项目的配置有问题(读写权限不一致)。.net
2.委托H同窗询问其余同事能不能clone下他们的项目,而后提交上去,等待验证结果中。。。。。。code
验证:blog
查看错误信息时候,发现酱紫的一句提示:“You are not allowed to push code to protected branches on this project.” ,发现了吗?这个项目的branch类型是“protected branches”!!!
紧接着,开始逛StackOverFlow,please pay attention:寻找问题的时候,最好的站点是StackOverflow!!!,效率最高的也是StackOverflow。Besides, attach the link:https://stackoverflow.com/questions/32246503/how-to-fix-you-are-not-allowed-to-push-code-to-protected-branches-on-this-proje 。
睁大眼睛:
there's no problem - everything works as expected.
In GitLab some branches can be protected. By default only 'master' user can commit to protected branches. master branch is protected by default - it forces developers to issue merge requests to be validated by project master before integrating them into main code.
You can turn on and off protection on selected branches in Project Settings (where exactly depends on GitLab version - see instructions below).
On the same settings page you can also allow developers to push into the protected branches. With this setting on, protection will be limited to rejecting operations requiring git push --force (rebase etc.)
结合本文第一行的提示,公司新装的gitlab。GitLab一些分支默认被保护,仅仅拥有master级别的用户才能提交到保护分支,并且master分支默认是保护分支,其余用户须要经过合并issue请求来提交上去,靠!找到了。
Since GitLab 9.0
Project: "Settings" -> "Repository" -> scroll down to "Protected branches".
Now you can select who is allowed to merge or push into selected branches (for example: you can turn off pushes to master at all, forcing all changes to branch to be made via Merge Requests). Or you can click "Unprotect" to completely remove protection from branch.
如图:
(1)
(2)
总结:
1.定位问题是权限问题以后,就该把问题上报了,并且解决方案一并交给组长,是否是有很爽的感受。