要设置上下文,我尝试使用toto设置我的博客 我做了
$ 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代理设置正确
jatin@jatin-ubuntu:~/myblog$ git config --global http.proxy
http://proxy:port
我的http_proxy设置也正确
jatin@jatin-ubuntu:~$ 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/ | git@heroku.com:myblog.git
Git remote heroku added
但它失败了:
$ git push heroku master
并出现以下错误
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 for端口9418,这是git使用的端口。
一旦他们适当地配置了代理,您就应该能够使用netcat-openbsd或socat之类的工具来连接。
我的问题是我是学生而且我无法解决这个问题,因为我无法联系管理员。我不知道该怎么做,因为我仍然在寻找答案。
答案 0 :(得分:6)
您使用此网址heroku
添加了git@heroku.com: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似乎只允许其git repos的SSH传输,并且Github上似乎没有任何直接挂钩(参见Push from github to heroku without downloading repo)。这意味着在Heroku上发布您的应用程序,您需要能够通过SSH从本地主机推送到heroku.com。
答案 1 :(得分:2)
您也可以按https://cloudhead@github.com/cloudhead/dorothy.git(注意网址中的用户名)。
答案 2 :(得分:1)
当你推到这个遥控器时,它是通过SSH完成的。您得到的错误是因为客户端无法通过SSH连接,很可能是因为您在防止连接的某种类型的防火墙后面。在尝试从工作中推送到Heroku时,我曾遇到同样的问题。
我建议您在本地开发,然后去一些公共热点将更改推送到Heroku(如星巴克)。