我在代理下,我在相当长的一段时间内成功地推进。 现在我突然不能进入git了。 我已经设置了RSA密钥和代理,并仔细检查了它们,没有效果,git抛出了页面标题中显示的错误。
当前回答
上面的答案为我提供了解决这个问题所需的信息。在我的例子中,url错误地以ssh:///开头
要检查git配置中的url是否正确,请打开git配置文件:-
git config --local -e
检查url条目。它在开始时不应该有ssh:///。
不正确的条目:
url = ssh:///git@github.com:username/repo.git
正确的条目:
url = git@github.com:username/repo.git
如果您的url是正确的,那么下一步将是尝试上面建议将协议更改为http的答案。
其他回答
这个答案是基于@zundi对主要问题的评论(功劳应该归谁,谢谢zundi):
在您的移动设备上创建热点并连接热点 git推 关闭您的移动设备上的热点并重新连接到原来的网络 Git推送继续工作
我不知道为什么临时连接到一个热点神奇地“启动”原来的网络连接。
主要原因是公司最近安装的代理发生了变化,阻止了公司域以外的其他ssh连接。
我可以通过以下步骤成功连接:
仔细检查,这个问题是我所假设的 ssh -T git@github.com
它应该在一个超时中结束。
编辑本地远程URL
SSH配置——local -e
从
url = git@github。com: asheeshjanghu / Journal git。
to
url = https://github.com/asheeshjanghu/Journal.git
重要的一点是,在url中,你必须在2个地方改变。
从git@到https://,从github:username到github/username
最后通过git获取来验证
对于我的情况,建议的解决方案都不起作用,所以我尝试自己解决,并解决了它。
对我来说,我在我的AWS EC2 UBUNTU实例上得到了这个错误,我所做的解决方法是编辑ssh配置(或者如果它不存在的话添加它)。
Sudo nano ~/.ssh/config
我添加了以下内容
Host github.com
Hostname ssh.github.com
Port 443
执行命令ssh -T git@github.com确认问题是否解决。
根据这个
有时,防火墙完全拒绝SSH连接。如果不能使用带凭据缓存的HTTPS克隆,则可以尝试使用通过HTTPS端口建立的SSH连接进行克隆。大多数防火墙规则应该允许这样做,但是代理服务器可能会干涉
希望这能帮助到其他和我有同样问题的人。
建议检查网络连接或重新连接。
基本URL重写
Git提供了一种使用Git配置重写url的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,就像变魔术一样,所有git命令都将执行git://到https://的替换
来源: git://协议被公司阻止,我怎么能绕过它?
推荐文章
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 在SSH会话中查找客户端的IP地址
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?
- Git:在推送后删除提交的文件
- Git分支之间的视觉差异