如何在Windows中使用端口22进行vundle(vim bundle)?

时间:2014-01-16 07:55:17

标签: git windows-7 github

我在Widnows7上安装了git for windows 1.8.5.2

不知何故,github.com可以通过我的电脑端口22连接,例如:

[Marslo@MJ ~/Desktop]
$ ssh -T -p 443 git@ssh.github.com
ssh: connect to host ssh.github.com port 443: Bad file number
[Marslo@MJ ~/Desktop]
$ ssh -T -p 22 git@ssh.github.com
Hi Marslo! You've successfully authenticated, but GitHub does not provide shell access.
[Marslo@MJ ~/Desktop]
$

而且,我在Port 22中添加了C:\Users\Marslo\.ssh\config

Host github.com
Port 22
User Marslo
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa

但是,它仍然无法正常工作! git repo将由端口443

克隆
[Marslo@MJ ~/Desktop]
$ git clone https://github.com/gmarik/vundle.git
Cloning into 'vundle'...
fatal: unable to access 'https://github.com/gmarik/vundle.git/': Failed connect to github.com:443; No error

我该怎么做才能强行克隆端口22的git repo?

3 个答案:

答案 0 :(得分:3)

根据马斯洛的建议,我发现所有这些都是通过添加以下行来解决的:

let g:vundle_default_git_proto='git'

到我的.vimrc文件,以便vundle使用git://网址

答案 1 :(得分:2)

根据Quick start of vundle,它可以“识别”git@github.com:<USERNAME>/<REPONAME>.git方式:

" non-GitHub repos
Bundle 'git://git.wincent.com/command-t.git'

实际上,不仅是“非GitHub回购”,还包括 GitHub回购

它只是修改以下格式:

Bundle 'gmarik/vundle'
Bundle 'Yggdroot/indentLine'
Bundle 'kien/ctrlp.vim.git'
Bundle 'sjl/gundo.vim.git'
Bundle 'majutsushi/tagbar'
Bundle 'dantezhu/authorinfo'
Bundle 'Marslo/EnhCommentify.vim'
Bundle 'tpope/vim-pathogen'
....

要:

Bundle 'git@github.com:gmarik/vundle.git'
Bundle 'git@github.com:Yggdroot/indentLine.git'
Bundle 'git@github.com:kien/ctrlp.vim.git'
Bundle 'git@github.com:sjl/gundo.vim.git'
Bundle 'git@github.com:majutsushi/tagbar.git'
Bundle 'git@github.com:dantezhu/authorinfo.git'
Bundle 'git@github.com:Marslo/EnhCommentify.vim.git'
Bundle 'git@github.com:tpope/vim-pathogen.git'
Bundle 'git@github.com:gregsexton/MatchTag.git'
.....

并且vundle可以git clonegit pull或仅通过端口22执行其他操作。

答案 2 :(得分:1)

您可以使用以下命令检查与端口的连接:

telnet github.com 443

如果不应该返回连接错误,但如果是,则问题出在您的网络设置中。

无论如何,由于无论您的工作流程如何,都可以对所有 GitHub repos使用repos,因此您可以使用三种访问权限: ssh https git r / o access

当您使用 git + ssh 模式进行git clone时, .ssh 文件会受到影响。我已经测试了对github.com的443端口的访问,并且成功了,保存了命令行访问权限。因此,如果您有ssh访问权限,可以尝试:

git clone git+ssh://ssh.github.com/gmarik/vundle.git

或:

git clone git@github.com:gmarik/vundle.git