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