git push 时发生 error: failed to push some refs to 错误 (解决办法)
出现问题的原因:在github上更新了README.md,没有更新到本地仓库。而在本地git仓库又修改了文件,这时使用 git push origin master 推送到远程仓库后就出现了下面的问题: 解决办法: 使用git pull origin master 命令将远程仓库和本地仓库进行连接。之后可能会出现 Merge branch 'master' of提示问题,编辑不了文字,可直接按 shift+! 进入编辑状态输入 wq 后可以了。 产生原因分析 当多人合作开发一个项目时,本地仓库落后于远程仓库是一个非常正常的事情,可参考下图。 1 A-B- C(master) 2 \ 3 D(origin/master) 具体情境如下: 我当前拉取的远端版本为 B ,此时修改了代码,并在本地仓库 commit 一次,但并未 push 到远端仓库。 另一位开发者在 B 的基础上,同样 commit 了一次并 push 到远端仓库。那么这个时候,我再 push 自己的代码就会发生错误,如下。 这个时候我们会选择,先 pull,再 push。Ok,push 成功,但是此时我们查看 log 就会发现除了我们自己提交的那条日志之外,会多出一条 "Merge branch 'master' of ..."。 那么,为什么会出现这种现象呢?其实是与 Git 的工作原理有关,对 Git