我在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所有。幸运的是,我的其他网站都是由用户设置的。
答案 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
作为网址。