我正在尝试让GIT在我心爱的{7}}上完全在Windows 7上运行。
我安装了msysgit v.1.7.3,创建了我的SSH密钥和所有内容,并且在GIT Bash中,一切都运行得很好,花花公子。
但是我总是打开我的TakeCommand窗口 - 所以我真的不想要GIT的另一个命令行窗口。
大多数命令,例如git status
,git add
,git commit
等等,在TakeCommand中运行得很好 - 唯一不起作用的是拉动和推动。
我已经设置了一个~/.ssh/config
文件,指向我公司的中央仓库,而在Git Bash中,一切正常。但是在TakeCommand中,我得到了:
D:\myGitProject> git pull "origin" master:master
ssh:gerrit:没有与姓名相关的地址 致命:远程端意外挂断
WTF?!?!?与git push
相同 - 这里发生了什么?我的SSH设置好了,Git Bash工作,~/.ssh/config
文件就在那里并且可以访问 - 我不知所措......
有什么好主意吗?我当然希望如此!!
@Mark Longair的 更新 - 这是我的~/.ssh/config
文件 - 略有编辑: - )
Host gerrit
Hostname git.mycompany.com
Port 29418
User myself
IdentityFile ~/.ssh/gerrit_myself_rsa
我可以ping git.mycompany.com
,但我无法ping gerrit
。有任何想法吗?我应该将gerrit
的条目添加到我的hosts
文件中并将其指向与此处的git服务器相同的IP吗?
答案 0 :(得分:1)
要在最后回答您的问题,您可以将gerrit
添加到您的hosts文件中,但这不会让您自定义端口,并且无法帮助您理解问题 - 为其指定昵称你的SSH配置中的主机应该可以工作!
我怀疑是~/.ssh/config
文件根本没有被读取,可能是因为SSH正在查找不同的位置。要测试这个,请尝试:
ssh gerrit
那应该产生同样的错误。然后,要获得更多信息,请尝试:
ssh -v gerrit
如果它成功运行,输出应该如下所示:
OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/mark/.ssh/config
debug1: Applying options for gerrit
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to git.mycompany.com [192.168.0.2] port 22.
[...]
(这是来自Linux,但它应该与msysgit捆绑的OpenSSH客户端类似。)如果你没有看到“读取配置数据[你的配置文件]”行,那么这可能是问题。
您能成功连接:
ssh myself@git.mycompany.com
......偶然?
我要检查的另一件事是在命令提示符下设置HOME
。