欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GitHub上传踩坑与问题解决

程序员文章站 2024-02-09 16:11:46
...

问题一

使用 git pull或者git push时出错:

kex_exchange_identification: Connection closed by remote host
Connection closed by 140.82.121.3 port 22
#或者
ssh: connect to host github.com port 22: Connection timed out
解决:
  1. 首先是路由器要开放 ssh 连接,报错说 22 号端口无法连接,如果是用的 OpenWrt 的话,要去【系统->管理权 -> Dropnear 实例】查看,将【接口】改为未指定,这样的话 Dropbear 就会监听所有接口。

  2. 其次,检查下 ssh 是否可以连接成功:

    ssh -T [email protected]
    

    ping一下github.com是否出错,在cmd中运行ping github.com查看。我有代理,host已经存了github的各种ip,而且可以正常访问github,所以一开始也没想到是不是无法联通github.com,结果一ping就是连接超时。如果超时的话,在这个网址ping一下github.com: http://ping.chinaz.com/github.com 然后找一个可以连接的ip,以【192.30.2xx.112 github.com】的格式放进hosts文件就好。hosts文件路径:C:\Windows\System32\drivers\etc

  3. 还有种方法就是在.ssh文件夹下新建config文件然后保存以下命令,指派通过443端口连接:

Host github.com
User [email protected]  #输入自己的邮箱
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

问题二

git仓库添加、提交都挺正常,然后就是第一次推送的时候用git push -u origin master 命令推送到远程仓库的时候报错:

error: src refspec master does not match any
解决:

首先,用git status查看一下你在哪个分支上,我一开始都没发觉我的仓库主分支名字是叫main,太蠢了搞了半天,改分支名就好了。修改分支命令:

git branch -m oldName newName

然后再推送应该就好了。

相关标签: git