【Git之窗】(十二)you are not allowed to push code to protected branches on this project

编程入门 行业动态 更新时间:2024-10-18 12:33:13

【Git<a href=https://www.elefans.com/category/jswz/34/1736331.html style=之窗】(十二)you are not allowed to push code to protected branches on this project"/>

【Git之窗】(十二)you are not allowed to push code to protected branches on this project

       推荐一个不错的AI教程: /

 

       今天在帮好友H看一个Git问题,入下:

       前提:(公司的GitLab是新的!!!)

 

            、

                                                     图 1-1

 

       报错:failed to push some refs to 'http://*******.git'。

       一痛瞎踅摸之后,远程控制电脑,在H电脑上,重新建立了一个test项目,之后走正常流程:

 

echo "# 123" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github:¥%…&&*@/123.git
git push -u origin master

       push成功没有问题,说明GitLab库级别配置,以及本地GitBash客户端没有问题。于是重新按照这个流程,本地新建文件夹,重新操作。

 

 

       操作结果同上图1-1所示,失败了。

 

       分析:

       1.git clone下来没有问题,commit本地仓库没有问题,就是推不上去,初步怀疑这个项目的配置有问题(读写权限不一致)。

       2.委托H同学询问其他同事能不能clone下他们的项目,然后提交上去,等待验证结果中。。。。。。

 

       验证:

       查看错误信息时候,发现酱紫的一句提示:“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: 。

      睁大眼睛:

      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.定位问题是权限问题之后,就该把问题上报了,而且解决方案一并交给组长,是不是有很爽的感觉。

       2.新装的gitLab,master分支默认protectd,这一点很坑啊!!!

       

     

       
 

更多推荐

【Git之窗】(十二)you are not allowed to push code to protected branches on this projec

本文发布于:2024-02-10 23:52:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1678011.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:之窗   allowed   十二   Git   push

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!