代理后面的git push remote问题

问题描述:

要设置上下文,我试图使用toto来设置我的博客。
我做代理后面的git push remote问题

$ sudo gem install toto

和宝石被正确安装。

Successfully installed rdiscount-1.6.8 
Successfully installed toto-0.4.9 
2 gems installed 

在那之后,我试图

$ git clone git://github.com/cloudhead/dorothy.git myblog 

,但我得到以下错误

Cloning into myblog... 
github.com[0: 207.97.227.239]: errno=Connection timed out 
fatal: unable to connect a socket (Connection timed out) 

我的git的HTTP代理设置是否正确

[email protected]:~/myblog$ git config --global http.proxy 
http://proxy:port 

我HTTP_PROXY设置也正确

[email protected]:~$ echo $http_proxy 
http://proxy:port/ 

所以,我通过HTTP取代的git,如

$ git clone http://github.com/cloudhead/dorothy.git myblog 

和它的工作。

现在,当我做了以下

$ cd myblog 
$ heroku create myblog 

它工作到这里,我得到

Creating myblog...... done 
Created http://myblog.heroku.com/ | [email protected]:myblog.git 
Git remote heroku added 

但在这里失败了下来:

$ git push heroku master 

和下面的错误出现up

ssh: connect to host heroku.com port 22: Connection timed out 
fatal: The remote end hung up unexpectedly 

我不知道该怎么做,所以谷歌搜索了一下之后,我发现你不能使用http推送更改到github。
在挖进一步,我发现这个链接

how-to-use-the-git-protocol-through-a-http-connect-proxy

它说,你可以有你的防火墙管理员配置代理也允许CONNECT端口9418,这是混帐使用的端口。

一旦他们有适当的配置代理,你应该可以使用像netcat-openbsd或socat这样的工具来连接。

我的问题是,我是一名学生,我无法解决这个问题,因为我无法联系到管理员。我不知道该怎么做,因为我仍然在寻找答案。

您使用此URL添加了heroku远程使用此URL [email protected]:myblog.git。这可能是由heroku create命令配置的。

当你推送到这个远程时,它通过SSH完成。这正是错误信息所表明的:你(或git)试图将ssh加入到heroku.com,但不能因为你的防火墙(可能)否认了这一点。用你的git push heroku master命令,你是而不是推送到Github,但是到Heroku的git仓库。为了把你的东西推到Github上,你需要git push origin master并且使用ssh或者http作为传输。 git://协议本身不支持推送更改集,但是是未经身份验证的只重协议。

目前,Heroku似乎只允许SSH传输其git回购,并且似乎没有任何直接挂钩Github(请参阅Push from github to heroku without downloading repo)。这意味着要在Heroku上发布您的应用程序,您需要需要才能通过SSH从本地主机推送到heroku.com。

您也可以推送到https://[email protected]/cloudhead/dorothy.git(请注意url中的用户名)。

+0

我试着推git push`https:// github_username @ github.com/app_name.git`,但它返回了一个错误`错误:请求的URL在访问https:// github_username @ github时返回错误:500 .COM/app_name.git /信息/ refs`。 – 2011-02-12 06:39:10

当你推送到这个远程时,它通过SSH完成。你得到的错误是因为客户端无法通过SSH连接,很可能是因为你在防止连接的某种类型的防火墙后面。在尝试从工作中推向Heroku时,我曾经有过这个相同的问题。

我的建议是让你在当地发展,然后去一些公共热点推动对Heroku的改变(如星巴克)。