为什么Git试图连接错误的主机?

时间:2014-04-28 12:49:23

标签: git

我在CentOS上设置了LAMP系统。我也在centralized workflow的同一台服务器上安装了git(我们刚刚从SVN移过)。我现在使用以下语法克隆了系统中的多个存储库:

git clone git:someexistingrepository.git

这很好用。现在,我有一个我想要转换为git工作目录的现有目录。我按照this question的接受答案的说明进行操作。由于我一直在使用本地服务器,因此使用了以下命令:

git remote add origin git:myrepo.git

myrepo.git已设置为:

git init --bare myrepo.git

我之前已经这样做过,而且我没有遇到任何问题,不过这次我做了,当我跑步时:

git push -u origin master
The authenticity of host 'git (173.192.58.115)' can't be established.
RSA key fingerprint is b1:43:2f:b0:7e:2f:ba:74:6f:19:2e:b8:35:81:10:b6.
Are you sure you want to continue connecting (yes/no)? ^C

我查了那个IP地址,它显然是git.co.uk使用的 - 显然与我(或Git)无关。这里是否有一些奇怪的行为,或者有人可能会建议我可能有一些不正确的配置?我读到使用git:reponame.git是正确的方法(我担心我无法在抱歉中找到这个问题) - 是这样的吗?

更新

注意:我使用SSH协议,而不是git。此外,config中的.git文件如下所示:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git:somerepo.git

对于克隆的存储库和使用上述方法的是相同的,所以我不知道为什么一个人正在解析该主机而一个人不是。使用git://会产生(预期)错误:

git clone git://bugs.git
Initialized empty Git repository in /tmp/bugs/.git/
fatal: Unable to look up  (port 9418) (Name or service not known)

更新2

感谢Oskar N的提示和回答,并且我意识到root用户遇到了这个问题,而其他用户没有,我终于意识到我最初在/ etc /中设置了一些东西的skel ...

[user@host ~]$ cat .ssh/config
Host git
        Hostname localhost
        User git
        IdentityFile ~/.ssh/id_rsa

所以,git 主持人(答案是正确的,谢谢!)。当我运行resolveip时,我在根屏幕中,向/var/www/添加了一些东西,因为它全部归root所有。幸运的是,我的其他网站都是由用户设置的。

1 个答案:

答案 0 :(得分:3)

存储库是一个URL。 " git:"部分意味着它应该查找主机名" git",在您的系统上解析为git.co.uk.我相信您看到的SO问题实际上使用了git://,这意味着使用git协议。

对于SSH,您应该使用ssh://user@hostname/path/to/reponame.git表示绝对路径,或user@hostname:path/to/reponame.git表示相对路径。如果您要在同一系统上进行克隆,只需使用reponame.git作为网址。