我在代理下,我在相当长的一段时间内成功地推进。 现在我突然不能进入git了。 我已经设置了RSA密钥和代理,并仔细检查了它们,没有效果,git抛出了页面标题中显示的错误。
当前回答
在与Ludder类似的失败模式中,当我还没有登录到正确的公司VPN时,我就得到了这个错误。facepalm指:
其他回答
原因可能是防火墙修改,因为您处于网络中。(在这种情况下,他们可能会故意封锁一些端口) 再次确认这是否是原因…做
ssh -T git@github.com
这应该会超时。 如果是这种情况,使用http协议而不是ssh 只需将配置文件中的url更改为http。 方法如下:-
git config --local -e
变更分录
url = git@github.com:username/repo.git
to
url = https://github.com/username/repo.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获取来验证
在与Ludder类似的失败模式中,当我还没有登录到正确的公司VPN时,我就得到了这个错误。facepalm指:
将repo url从ssh更改为https对我来说没有多大意义。因为我更喜欢ssh而不是https,因为我不想放弃一些额外的好处。以上答案都很好,也很准确。如果你在GitLab遇到这个问题,请去他们的官方文档页面,并像那样修改你的配置文件。
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
基本URL重写
Git提供了一种使用Git配置重写url的方法。只需发出以下命令:
git config --global url."https://".insteadOf git://
现在,就像变魔术一样,所有git命令都将执行git://到https://的替换
来源: git://协议被公司阻止,我怎么能绕过它?
推荐文章
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- 如何忽略ansible SSH的真实性检查?
- git隐藏的意图用例是什么?
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?
- 撤销“git add <dir>”?
- 是否可以在不先签出整个存储库的情况下进行稀疏签出?