我是git的新手。我已在具有SSH访问权限的服务器上创建了一个裸存储库。如果我尝试将其克隆到我的工作站上,我会得到两个不同的结果:
% git clone ssh://me@example.com:git/foo.git
Cloning into 'foo'...
ssh: example.com:git: no address associated with name
fatal: Could not read from remote repository.
但如果删除ssh://
,则可以正常使用:
% git clone me@example.com:git/foo.git
根据Pro Git的书,这些应该是相同的。
是什么给出了?
答案 0 :(得分:7)
第一个命令git clone ssh://
遵循标准SSH URI syntax
,因此您需要提供绝对路径。
请尝试此操作(假设用户me
的主目录位于/home/me
):
git clone ssh://me@example.com/home/me/git/foo.git
我猜这也应该有效:
git clone ssh://me@example.com/~/git/foo.git
第二种语法:git clone me@example.com:git/foo.git
允许使用用户主目录中的相对路径。