【发布时间】:2022-01-14 14:09:42
【问题描述】:
我正在研究SSH URI specification,以便更多地了解用于通过 SSH 访问 Github 或 Bitbucket 等服务中的存储库的 URL。
一个典型的 SSH Github URL 是这样的:git@github.com:myuser/myrepo.git,我认为可以分解成以下几个部分:
scheme authority
| |
/‾‾\/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\
ssh://git@github.com:myuser/myrepo.git
\_/ \________/ \_______________/
| | |
user host port
我不明白的是端口部分。 official general URI specification 声明端口应该只包含数值。 SSH URI scheme specification 坚持通用 URI 规范。 OpenSSH config manual 也是如此。
为什么他们在端口部分使用类似路径的文本?这是否偏离了事实上已确立的标准?还是我理解错了整件事?
如果有人能澄清这一点,我将不胜感激。
【问题讨论】:
-
正常的Git语法要么是
ssh://git@github.com/user/repo.git(注意这里ssh:后面没有冒号),要么git@github.com:user/repo.git(注意没有@987654330 @ 这里)。你不应该将两者结合起来。使用第二种形式时,您根本没有使用标准 URL/URI。