
本文介绍解决git推送更新出现的Error
方法1(推荐):
Updates were rejected because the remote contains work that you do not have locally

问题原因:远程分支上存在本地分支中不存在的提交,可以先fetch再merge,也就是pull,把远程分支上的提交合并到本地分支之后再push。
其实图中已经告诉我们要先fetch first了。
我们先来看看git fetch和git pull的概念:

可以简单的概括为:
git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
看到这里你就应该明白,你得先git fetch(进入.deploy/xxx.github.io文件夹里面操作才行,这里的操作目录就是你平时项目的目录)
然后git merge,这两步操作下来使得你remote的内容和本地的内容进行合并,这样下一步你再按照正常的推送进行推送。
1 | git add . |
基本到这里问题应该解决了。
方法2(暴力):
如果你实在搞不清楚git相关的原理,或者你已经不小心把你的本地repo或者remote的repo搞得乱七八糟,那么你可以直接清空的你的在线repo,重新push你的本地repo到服务端。
1 | 1.首先克隆(将服务端的repo整个克隆到本地任意的文件夹都可) |

...
...
00:00
00:00