不能git推送到ruboku.railstutorial.org的heroku master

时间:2014-02-28 19:16:49

标签: ruby-on-rails ruby git heroku ssh

我正在使用ruby.railstutorial.org,我遇到各种麻烦,让我的first_app从git推送到heroku。我已尝试过下面列出的解决方案,但不断收到相同的错误消息。

我尝试过的解决方案: git push heroku master gives error ssh: connect to host heroku.com port 22: Connection refused git push heroku master gives error ssh: connect to host heroku.com port 22: Connection refused

I have tried precompiling as:
$ rake assets:precompile
$ git add .
$ git commit -m "Add precompiled assets for Heroku"

获取新的ssh密钥。我似乎无法得到任何工作。这是我得到的:

Coreys-MacBook-Pro:first_app coreydavis$ heroku create
Creating radiant-oasis-3729... done, stack is cedar
http://radiant-oasis-3729.herokuapp.com/ | git@heroku.com:radiant-oasis-3729.git
Coreys-MacBook-Pro:first_app coreydavis$ git push heroku master
ssh: connect to host heroku.com port 22: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我知道存储库存在且我可以访问,我无法弄清楚我在这里缺少什么。 任何帮助都会很棒,我对此非常非常新,并且尽管我的阅读和谷歌搜索仍然没有完全理解出了什么问题。非常感谢。

3 个答案:

答案 0 :(得分:0)

您需要为Heroku帐户分配一个公钥,如in their docs所述。

另外,请仔细检查git remote实际上是您希望它的Heroku应用程序存储库。

$ git remote -v

您应该在此命令的列表中看到您的Heroku应用程序名称。

要检查的另一件事是你不在防火墙后面阻塞端口22.这将是不寻常的,但并非闻所未闻。还有各种软件可以阻止访问AWS / EC2;因为Heroku在EC2上运行,所以确保你没有运行任何类似的东西。

答案 1 :(得分:0)

我以前遇到过这个问题。如果您缺少公钥,则错误通常表示错误。确保您已登录到GitHub帐户并首先在那里创建新的存储库。然后在命令行上运行以下命令:

git init
git commit
git remote add origin https://github.com/username/your_repository_name.git
git push
#you should be prompted to enter your github credentials
#your code will then be pushed to your github repository
git push heroku 
#heroku will fetch your your github repository and install to your heroku instance
heroku open
#this will open your heroku instance in a new browser window. 
祝你好运!!

答案 2 :(得分:0)

如果您创建了多个应用,那么您仍然只能将原始应用作为遥控器。

git remote -v

显示您的遥控器的名称和网址。通常你会将它命名为origin,你可以删除它:

git remote rm origin

然后你需要添加新的heroku应用程序名称:

git remote add origin <URL to new heroku app>

最后推送你的应用:

git push -u origin master

-u标记会将其标记为已跟踪。