我的一位同事有一个我想克隆的远程git仓库,他提供了一个git@his.server.com网址:443 / repo.git。在这种情况下,ssh列在端口443上。
我尝试通过git clone git@his.server.com:443/repo.git
进行克隆,但操作超时。我曾经认为git默认为ssh作为其协议,我不知道为什么这不起作用。
如果我在网址中明确指定了ssh,例如git clone ssh://git@his.server.com:443/repo.git
,它就会正常工作。
这是预期的git行为吗?为什么第一个网址不起作用,但第二个网址不起作用?
答案 0 :(得分:10)
呀。 “默认”克隆语法类似于scp。 scp URL看起来像“user @ host:path”。注意结肠;如果您使用git@his.server.com:443/repo.git
,Git会认为您正在尝试从443/repo.git
克隆路径git@his.server.com
。如果你需要指定一个端口,你必须使用ssh风格的语法(当你最终做的时候)。