【GitHub或GitLab rejected】error: failed to push some refs to,Updates were rejected...

▚ 01 问题描述


  • 🍅在使用git push origin master时,遇到以下错误提示:
 ! [rejected]        master -> master (fetch first)                                                                                                                                                                                                                         
error: failed to push some refs to 'http://xxxxxx.git'                                                                                                                                                                                                    
hint: Updates were rejected because the remote contains work that you do                                                                                                                                                                                                    
hint: not have locally. This is usually caused by another repository pushing                                                                                                                                                                                                
hint: to the same ref. You may want to first merge the remote changes (e.g.,                                                                                                                                                                                                
hint: 'git pull') before pushing again.                                                                                                                                                                                                                                     
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

在这里插入图片描述


▚ 02 问题分析


  • 🍏上述错误翻译过来为:
    未能将某些引用推送到http://xxxxxx.git
    更新被拒绝,是因为远程包含您在本地没有的工作。这通常是由另一个仓库推送到同一引用引起的。您可能希望先合并远程更改(例如,提示:git pull),然后再推送。有关详细信息,请参阅git push --help中的“关于快进的注意事项”。

🎯这个问题往往是由 多人协作开发或者在GitHub/GitLab网页上修改仓库 引起的。

  1. 我们可以先使用pull或者fetch + merge,把远程分支上的提交合并到本地分支之后再进行push
  2. 若确定不再需要远程分支上的提交,则可以使用git push -f origin master,使本地分支强制覆盖远程分支。

在这里插入图片描述


▚ 03 解决方案



3.1 常规方法

# 首先,将远程分支上的提交合并到本地分支
git pull origin master
# 然后,再将合并后的本地分支提交到远程分支
git push origin master

  • git push时,会遇到下面的窗口,默认不用修改,直接使用wq保存退出即可:

在这里插入图片描述



3.1暴力方法

  • 将本地分支强制覆盖远程分支:
git push -f origin master




在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值