我正在尝试使用 ssh 端口转发来击败公司防火墙:
ssh git@GIT_SERVER -L9418:GIT_SERVER:9418
在另一个终端我运行
git clone git://localhost:repositories/project.git
但我收到以下错误:
在 /Users/aboxer/tmp/glucosia/.git/ 中初始化空的 Git 存储库
致命:无法查找本地主机(端口存储库)(提供节点名或服务名,或未知)
谢谢!
我正在尝试使用 ssh 端口转发来击败公司防火墙:
ssh git@GIT_SERVER -L9418:GIT_SERVER:9418
在另一个终端我运行
git clone git://localhost:repositories/project.git
但我收到以下错误:
在 /Users/aboxer/tmp/glucosia/.git/ 中初始化空的 Git 存储库
致命:无法查找本地主机(端口存储库)(提供节点名或服务名,或未知)
谢谢!
我很确定您的问题(或至少是导致此特定错误的问题)在这里:
git clone git://localhost:repositories/project.git
如果您查看man git push中的 url 符号列表,您将看到相关示例:
git://host.xz[:port]/path/to/repo.git/
使用冒号,您使用“存储库”作为端口名称,并且 git(可以理解)无法连接到本地主机上的端口存储库!您正在寻找的是:
git://localhost/path/to/repositories/project.git
也许
git://localhost/~user/repositories/project.git
编辑:
我可能应该从一开始就这么说,但我实际上想不出你需要在 git 中使用 SSH 隧道的原因。它的默认传输协议是 ssh;git 协议实际上只存在于允许从没有帐户的情况下获取公共存储库。如果您可以通过 SSH 连接到存储库所在的机器,则可以通过 ssh 获取:
git clone ssh://[user@]host.xz/path/to/repo.git
git clone ssh://[user@]host.xz/~/path/to/repo.git
git clone ssh://[user@]host.xz/~user/path/to/repo.git
我在这里写了一个完整的回复/指南:http: //vladzloteanu.wordpress.com/2010/12/18/git-through-ssh-port-forwarding-ssh-tunneling/。
Vlad Zloteanu 回答的简短版本:
设置隧道:
ssh ServerWithSSHAccessAddress -L 2000:GitServerAddress:22 -N , &
克隆仓库
git clone ssh://user@localhost:2000/my_repo.git
以下是对我有用的步骤。我的系统位于公司防火墙后面,并且已加入域:
npm 安装 git
git config --global 网址。https://github.com/.insteadOf git://github.com/