14

我不知道发生了什么变化,但是当我尝试在 GitHub 上推送到我的遥控器时,我感到非常惊讶,它却转到了一个完全未知的 IP。

[slavik@localhost guardonce]$ git push origin master
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
Connection closed by 192.30.252.128
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

其他测试表明我本地机器的配置没问题。例如:

[slavik@localhost guardonce]$ ssh -T git@github.com
Hi slavik81! You've successfully authenticated, but GitHub does not provide shell access.

[slavik@localhost guardonce]$ git remote -v
origin  git@github.com:slavik81/guardonce.git (fetch)
origin  git@github.com:slavik81/guardonce.git (push)

看着我的 known_hosts,我预计会与github.com,204.232.175.90. 那么,我为什么不呢?

4

5 回答 5

15

现在(2013 年 8 月 25 日)在“ IP 地址更改”中解释了发生的变化:

我们在 4 月份提到了这些新地址,并更新了Meta API以反映它们。
一些 GitHub 服务已经迁移到新地址,包括:

api.github.com
gist.github.com
ssh.github.com

我们的下一步是开始将这些 IP 地址用于 GitHub 主站点,因此我们提醒大家注意这一变化。
有一些问题可能会影响某些人:

  • 如果您有明确的防火墙规则允许从您的网络访问 GitHub,您需要确保包含本文中列出的所有 IP 范围。

  • 如果您的/etc/hosts文件中有一个指向github.com特定 IP 地址的条目,则应将其删除,并依靠 DNS 为您提供最准确的地址集。

  • 如果您通过 SSH 协议访问您的存储库,则每次您的客户端连接到github.com.
    只要警告中的 IP 地址在前面提到的帮助页面中的 IP 地址范围内,您就不必担心。
    具体来说,此次新增的地址范围为192.30.252.0~192.30.255.255。
    警告消息如下所示:

Warning: Permanently added the RSA host key for IP address '$IP' to the list of known hosts.
于 2013-08-25T19:02:10.343 回答
3

检查现有的远程 URL

git config remote.origin.url

如果不正确,您可以通过以下方式进行更改:

git remote set-url origin git@github.com:slavik81/guardonce.git
于 2013-08-16T04:41:29.987 回答
1

这是加利福尼亚的 github 服务器

$ git config remote.origin.url
git@github.com:blah/foo
$ ping github.com
PING github.com (192.30.252.128) 56(84) bytes of data.
64 bytes from 192.30.252.128: icmp_seq=1 ttl=47 time=63.6 ms

http://en.utrace.de/ip-address/192.30.252.128

编辑:他们在过去几天受到了严重的 DDoS 攻击,所以他们这样做可能是为了帮助对抗它。

于 2013-08-16T18:40:53.527 回答
0

如果您使用capistranogem 进行部署,它会将 repo 克隆到deploy_dir/shared/cached-copy服务器上。

只需删除deploy_dir/shared/cached-copy目录。

$ rm -rf deploy_dir/shared/cached-copy

然后再次部署。

于 2014-08-10T07:21:25.277 回答
0

git push 的 url 列在 config 文件夹中。在您的应用程序中查找 .git 文件夹,然后打开其中的配置文件。

$ cat config 

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git@github.com:******/******.git [branch "master"] remote = origin merge = refs/heads/master [branch "sprint_1"] remote = origin merge = refs/heads/sprint_1

签出远程“来源”的 url,它显示远程当前 url。您可以在此处进行更改。

于 2013-08-16T07:05:58.343 回答