很久没用windows,配了新的windown11电脑,挂了vpn下载github链接直接报错“git clone failed due to: exit code(128)”。经过一番折腾,记录一下解决办法以及步骤:
出现这个问题通常是由于几个常见原因引起的,例如权限问题、SSH 密钥问题或锁定文件问题。检查是否配置了github的ssh,我的就没有配置。配置ssh步骤如下:
1, 先安装git bash
2,键入命令:ssh-keygen -t rsa -C "email@email.com",引号中是你在github上的注册邮箱,之后设定你的ssh密码,如图:
3,第二步已经成功的生成了ssh key,再输入eval "ssh-agent -s",如图:
4,再输入ssh-add ~/.ssh/id_rsa,再输入你设定的ssh的密码,在输入ssh-add ~/.ssh/id_rsa可能会产生“could not open a connection to your authentication agent”错误,如图:
这时直接输入:ssh-agent bash,再输入ssh-add ~/.ssh/id_rsa就可以,如图:
5,将key添加到github账户中去:
1)用vim复制key的内容:vim ~/.ssh/id_rsa.pub,右键复制出现的内容,如图:
2)添加到github中,找到setting中的ssh keys,如图:
将刚才的复制的keys粘贴即可。
6,测试:输入ssh -T git@github.com,如图,说明已经完成
\
配置好以后,测试git clone “http://xxxx” 依然报错,这时候出现了新的错误:“Failed to connect to github.com port 443”,出现这种错误有两种情况:\
第一种情况自己有vpn,网页可以打开github。说明命令行在拉取/推送代码时并没有使用vpn进行代理
第二种情况没有vpn,这时可以去某些网站上找一些代理ip+port
解决办法:配置http代理Windows、Linux、Mac OS 中 git 命令相同:
git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:789
注意:
命令中的主机号(127.0.0.1)是使用的代理的主机号(自己电脑有vpn那么本机可看做访问github的代理主机),即填入127.0.0.1即可,否则填入代理主机 ip(就是网上找的那个ip) 命令中的端口号(7890)为代理软件(代理软件不显示端口的话,就去Windows中的代理服务器设置中查看)或代理主机的监听IP,可以从代理服务器配置中获得,否则填入网上找的那个端口port
http两种协议由使用的代理软件决定,不同软件对这两种协议的支持有差异,如果不确定可以都尝试一下 主机号和端口号可在代理的位置查看(自己有vpn的需要查看)\
查看代理命令
git config --global --get http.proxy
git config --global --get https.proxy
配置完成之后,执行git clone 就可以正常下载了。