git踩坑之解决error: failed to push some refs to 远程库的报错
问题提出
首先这个报错大概长这个样子,一般出现在部署到远程库时:
1 | error: failed to push some refs to 'git@github.com:xxx/xxx.git |
这个错误大概有2个原因:
网络错误(在我大天朝的网络下出现什么玄学问题很正常的)
远程库分支内容与本地内容存在双边不同步差异,系统总是先拉取再推送,但是拉取总是失败
对于网络错误的解决办法
首先建议先多试几次部署,如果还不行可以把远程库地址改成SSH方式进行尝试。不过这样修改了之后再部署可能提示SSH Key不存在或者无法提交,那么就再重新生成一次SSH Key,具体怎么操作可以百度。
对于第二种原因的解决办法
先用下面的命令来撤除上一次commit,把远程库中的更新合并到本地库中
1 | git pull --rebase origin master |
然后再进行部署推送。
注意最好不要用git push -f强制推送,尤其是项目存在多个维护者时,否则可能丢失历史数据(百度上好多教程直接让用这个= =