Git问题:1.push时候遇到错误,push失败

当尝试git push时遇到fetch first或non-fast-forward错误,是因为远程仓库有新的提交。解决方法包括:先用git fetch获取远程更新,再与本地合并(解决可能的冲突),最后git push。若使用git pull则一步完成更新和合并。
摘要由CSDN通过智能技术生成

本地git push出现reject拒绝推送,提交失败

问题描述

当我在本地push推送最新代码到远程仓库时,出现如下错误
在这里插入图片描述
或者出现如下错误
在这里插入图片描述
即出现fetch first或者non-fast-forward信息,提示reject信息,拒绝此次push请求。push失败。

分析原因

上述push失败的情况,是因为我们在push提交代码的时候,远程仓库已经发生变化了,换句话说就是在这个期间(上一次拉取代码到本次提交代码),有其他人在我们之前提交了代码到我们想要推送的分支,导致远程仓库代码更新变化了。所以git拒绝了本次push。

解决

因为远程仓库在拉取代码时和提交代码时内容不一致,出现冲突,导致提交失败。
解决方法:

1.先抓取远程仓库的更新到本地;
2.然后与本地仓库合并(如果有冲突就要解决冲突后再合并);
  注:此操作不会改变远程仓库,只是将远程仓库变化更新到本地仓库。
3.这样就使远程仓库和本地仓库一致了,然后就可以提交修改了。然后再将本地代码提交push到远程仓库。

具体操作:(dev为远程仓库分支,目前本地所在分支也为dev)

1.git fetch origin dev    将远程仓库拉到本地
2.git merge FETCH_HEAD    合并,解决冲突
3.git push origin dev     将本地代码提交push到远程dev分支

写在最后

上述1和2步骤可以使用git pull origin dev,即

git pull origin dev = git fetch origin dev + git merge FETCH_HEAD
一般推荐使用1和2步骤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值