本文介绍解决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