【Git异常】Push master to origin/master was rejected by remote

简介: 【Git异常】Push master to origin/master was rejected by remote

一、背景描述

最近公司的版本管理工具,统一由 SVN 改为 GIT ,今天新分配的 GIT 账号和新项目,拉下来代码发现 push 不上去,以为是自己本地仓库 GIT 账号和新分配的冲突原因呢,我最后统一改成一样的还是 push 失败。

注意:以下是我从 GITmaster 仓库拉取的,然后又从本地提交代码至 master 仓库。然后才出现的这个问题。

remote: GitLab: You are not allowed to push code to protected branches on this project.

Push master to origin/master was rejected by remote

然后在网上搜索有的说是 按照以下命令(打开你要上传代码的文件夹位置鼠标右键git Bash Here然后直接下面两行命令解决问题)就可以了。然而,我试了试,还是不行哦。

git pull origin master --allow-unrelated-histories
git push -u origin master -f

不过这个命令一定要慎用,git push -u origin master -f 是强制推送的意思。强制推送 要慎用!慎用!慎用!重要的事情说三遍!这会让别人提交的代码被覆盖!!!

可以看到,我使用以上命令,依然解决不了问题。

二、原因分析

最后经过与运维同事探讨,原来是他在主分支上添加了限制权限,不允许直接提交到主分支导致的。原因是因为权限不够,master 分支被保护了,所以才会导致这个问题的出现。

三、解决方案

GIT 仓库中,重新创建一个分支:

然后 从这个新创建的分支上 pull 代码,编辑过后,然后 push 到这个 新创建的分支上即可。

完结!


相关文章
|
1月前
|
开发工具 git
git 使用之remote: File [4e21e71a555febaa4dfaaa05cf7eeb606ea96ae2] size 104.090MB, exceeds quota 100MB remote: Please remove the file[s] from history and try again 报错如何解决-优雅草卓伊凡
git 使用之remote: File [4e21e71a555febaa4dfaaa05cf7eeb606ea96ae2] size 104.090MB, exceeds quota 100MB remote: Please remove the file[s] from history and try again 报错如何解决-优雅草卓伊凡
140 3
git 使用之remote: File [4e21e71a555febaa4dfaaa05cf7eeb606ea96ae2] size 104.090MB, exceeds quota 100MB remote: Please remove the file[s] from history and try again 报错如何解决-优雅草卓伊凡
|
1月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
63 18
|
1月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
47 16
|
4月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
333 1
|
22小时前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
|
4月前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
2月前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
2月前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
3月前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
100 3
|
4月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
94 1
[Git]入门及其常用命令