遇到这种情况先检查是否是网络问题。

第一个报错

ssh_exchange_identification: read: Connection reset by peer

先是更新博客的时候发现 github 仓库失联了,在 Terminal 中尝试连接我的几个服务器,也出现kex_exchange_identification: read: Connection reset的问题,之前是配置了 SSH 密钥连接服务器的。综上,判断是 SSH 公钥有问题。

解决方案

1.重置本地公钥

1
ssh-keygen -t rsa -C "zzzain46@gmail.com"

之后会有几次信息确认,默认的话按回车就可以顺利完成了。

2.配置Github的密钥

第二个报错

fatal: refusing to merge unrelated histories

这是在git pushgit pull的时候会遇到的问题,原因是本地和远程分支没有取得关系。

解决方法

在操作命令后面加--allow-unrelated-histories可以解决。例如:

1
git merge master --allow-unrelated-histories

或者

1
git pull origin master --allow-unrelated-histories

检查本地和 Github 的 SSH 连接是否正常

1
ssh -T git@github.com

查看 push 的方式

1
git remote -v

移除原有的 push 方式

1
git remote rm origin

添加新的 push 方式

1
git remote add origin git@github.com:BytePrince/BytePrince.github.io.git