git clone требует протокол ssh: //, если, возможно, этого не следует делать? - PullRequest
8 голосов
/ 30 июля 2010

У моего коллеги есть удаленное git-репо, которое я хотел клонировать, и он предоставил URL-адрес git@his.server.com: 443 / repo.git.В этом случае ssh перечисляет порт 443.

Я пытался клонировать, выполняя git clone git@his.server.com:443/repo.git, но время операции истекло.Я думал, что git по умолчанию использует ssh в качестве протокола, и я не уверен, почему это не работает.

Если я явно указываю ssh в URL-адресе, например git clone ssh://git@his.server.com:443/repo.git, он работает как обычно

Это ожидаемое поведение мерзавца?Почему первый URL не работает, а второй работает?

1 Ответ

10 голосов
/ 30 июля 2010

Да.Синтаксис клона «по умолчанию» подобен scp.URL-адреса scp выглядят как «user @ host: path».Обратите внимание на двоеточие;если вы используете git@his.server.com:443/repo.git, Git думает, что вы пытаетесь клонировать путь 443/repo.git из git@his.server.com.Если вам нужно указать порт, вы должны использовать синтаксис в стиле ssh (как вы это сделали).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...