一、报错原因

对于该报错,官方的解释为可能为仓库损坏或网络问题等原因,但在我们实际开发过程中,绝大多数情况是因为,远程仓库有其他人提交的修改,本地尚未拉取最新代码。

二、解决方案

1、撤回提交

如前面所说,远程仓库有其他人提交的修改,如果不嫌撤回本地commit的话,我们是无法pull代码的。
所以在pull之前,我们需先试用如下代码,撤回本地的上一次commit

git reset --soft HEAD^
2、暂存代码

将本地修改代码先提交到暂存区,防止拉代码时,远程仓库代码和本地修改代码冲突

git stash
3、重新拉取

撤回提交后,即可重新拉取远程仓库代码,命令如下

git pull origin QL_DEV

QL_DEV为我的分支名,根据自己实际情况做出修改。

4、暂存区代码应用

在拉取完代码后,可重新将本地修改代码重新取出

git stash apply

注:此步骤可能出现代码冲突,需手动解决

5、重新提交代码

解决完可能出现的冲突后,即可重新走提交代码步骤

-- 从暂存区取出的代码,需要重新add,并非多余步骤
git add .

git commit -m 'comment'

git push origin QL_DEV
6、问题解决

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐