2011-02-08 10 views
3

コンテキストを設定するには、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/ 

だから、私は

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

として、HTTPでのgitを置き換え、それが働きました。

さて、私は次のよう

$ 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 

と、次のエラーが来ます上へ

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

私は何をすべきか分からなかったので、ちょっとグーグルで調べたところ、httpを使ってgithubに変更をプッシュできないことがわかりました。さらに掘りで
は、私はあなたのファイアウォール管理者もgitの使用するポートである、ポート9418のためのCONNECTを許可するようにプロキシを設定することができますと言っている。このリンク

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

を見つけました。

プロキシを適切に設定すると、netcat-openbsdやsocatなどのツールを使用して接続することができます。

私の問題は、私が学生であり、管理者に手を差し伸べることができないため、この問題を回避できないということです。私はまだ答えを求めて立ち往生しているので、何をすべきかわからない。

答えて

6

このURLを使用してherokuリモートを追加しました[email protected]:myblog.git。これはおそらくheroku createコマンドによって構成されていました。

このリモートにプッシュすると、SSH経由で実行されます。そして、これは正確にエラーメッセージが示していることです:あなた(またはgit)がheroku.comにsshしようとしましたが、あなたのファイアウォールのせいで(おそらく)拒否できませんでした。 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にプッシュできるようにする必要があります。

2

https://[email protected]/cloudhead/dorothy.gitにプッシュすることもできます(URLのユーザー名に注意してください)。

+0

私はgit pushを使って 'https:// github_username @ github.com/app_name.git'をプッシュしようとしましたが、エラーが返されました。'エラー:要求されたURLがエラーを返しました:https:// github_username @ github .com/app_name.git/info/refs'にあります。 –

+0

@Jatin:あなたはレポのパスでレポのオーナーを忘れてしまったようです。 @の前(ユーザー名として)とgithub.comの後(リポジトリ所有者として)の間でクラウドヘッドを持つ必要があります。 –

+0

私は同じ問題があります。この方法は私のために働く。ありがとう。 – adelarsq

1

このリモートにプッシュすると、SSH経由で行われます。あなたが得ているエラーは、クライアントがSSH経由で接続できなかったためです。おそらく接続を妨げるいくつかの種類のファイアウォールの背後にいるからです。私は仕事からヘロクに押し込もうとするときにも同じ問題を抱えていました。

私が提案するのは、ローカルで開発してから、(スターバックスのように)Herokuに変更をプッシュするために公開ホットスポットに行くことです。

関連する問題