Git 将具有非标准端口号的SSH存储库克隆到SourceTree

Git 将具有非标准端口号的SSH存储库克隆到SourceTree,git,url,ssh,atlassian-sourcetree,sourcetree,Git,Url,Ssh,Atlassian Sourcetree,Sourcetree,我花了大约20分钟来处理这个问题 我收到了一封电子邮件,其中包含一个存储库的SSH地址。关键是它有一个非标准(即不是22)端口号: git@domain.com:1234/opt/git/repository.git 我假设我可以将其复制粘贴到SourceTree中,但不断收到这不是有效的源路径/URL错误消息 当我仔细查看日志时,错误是它在服务器上查找路径1234/opt/git/repository.git——它将端口号视为路径的一部分。显然没有找到回购协议。解决方案有点奇怪: 使用类似于s

我花了大约20分钟来处理这个问题

我收到了一封电子邮件,其中包含一个存储库的SSH地址。关键是它有一个非标准(即不是22)端口号:
git@domain.com:1234/opt/git/repository.git

我假设我可以将其复制粘贴到SourceTree中,但不断收到
这不是有效的源路径/URL
错误消息


当我仔细查看日志时,错误是它在服务器上查找路径
1234/opt/git/repository.git
——它将端口号视为路径的一部分。显然没有找到回购协议。

解决方案有点奇怪:

  • 使用类似于ssh://
    git@domain.com:1234
    opt/git/repository.git
    。 在端口号之后添加
    ssh://
    ,并添加一个
    ,该端口号似乎成功地充当了分隔符,并且在服务器上找到了路径
    /opt/git/repository.git
  • (例如,
    ~/.ssh/config
    )使其看起来像这样:
  • Host domain.com
    端口1234
    

    我在运行Git服务器的Synology NAS上尝试了您的答案。但是,我必须删除端口号后的“:”才能有一个工作URL。因此,就我而言(以你为例):ssh://git@domain.com:1234/opt/git/repository.git与@Peter报告的情况相同。