GitLab 解决Updates were rejected because the tip of your current branch is behind its remote问题
问题描述
在使用GitBash完成配置以及公私钥的配置后,在向master分支或其他分支push内容的时候,报错,错误内容如下:
大致翻译为:
错误:无法将一些引用推送到’git@github.com:****** / Demo.git’
提示:由于当前分支的尖端位于其远程对应的后面,因此更新被拒绝。 合并远程更改(例如’git pull’),然后再次推送。 有关详细信息,请参见“ git push --help”中的“关于fast-forwards的注意事项”。
问题解析
造成这个问题的原因,我总结有两个:
一个是远程repository和本地的repository有冲突
一个是远程分支被protect
针对第一个问题,可以借鉴该篇博客
针对第二个问题,解决步骤如下:
打开gitlab页面,左侧选择Settings,然后选择Repository,出现如图界面,再选择Protected Branches,就可以选择对那些分支进行保护。
图片下面可以看到,master分支确实被保护了,这种情况下,除了管理人员规定的人员,其他人不能远程push,这是为了保证代码的安全性。
针对这个问题,要么更改关于master分支的权限,要么新建一个分支进行push