让GIT在TakeCommand中完全发挥作用

时间:2011-05-18 08:55:10

标签: git command-line

我正在尝试让GIT在我心爱的{7}}上完全在Windows 7上运行。

我安装了msysgit v.1.7.3,创建了我的SSH密钥和所有内容,并且在GIT Bash中,一切都运行得很好,花花公子。

但是我总是打开我的TakeCommand窗口 - 所以我真的不想要GIT的另一个命令行窗口。

大多数命令,例如git statusgit addgit 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吗?

1 个答案:

答案 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