Проблема с git push remote за прокси - PullRequest
3 голосов
/ 09 февраля 2011

Чтобы установить контекст, я пытаюсь использовать 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/

Итак, я заменил git на http, как

$ 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

Я не знал, что делать, поэтому, немного погуглив, обнаружил, что нельзя вносить изменения в github с помощью http.
Покопавшись дальше, я нашел эту ссылку

как использовать протокол git через http-connect-proxy

, в котором говорится, что администратор брандмауэра может настроить прокси-сервер так, чтобы он также разрешал CONNECT для порта 9418, который используется git.

Как только они правильно настроят прокси, вы сможете использовать такие инструменты, как netcat-openbsd или socat для подключения.

Моя проблема в том, что я студент, и я не могу обойти это, потому что не могу связаться с администратором. Я не знаю, что делать, потому что я все еще не могу найти ответ.

Ответы [ 3 ]

6 голосов
/ 13 февраля 2011

Вы добавили пульт heroku, используя этот URL git@heroku.com:myblog.git. Вероятно, это было настроено командой heroku create.

Когда вы нажимаете на этот пульт, это делается через SSH. И это именно то, что указывает сообщение об ошибке: вы (или git) пытались подключиться к heroku.com, но не смогли, потому что ваш брандмауэр (вероятно) это отрицал. С вашей командой git push heroku master вы не продвигаетесь к Github, но к хранилищу git в Heroku. Чтобы отправить свои вещи в Github, вам нужно git push origin master и использовать ssh или http для транспорта. Сам протокол git:// не поддерживает отправку наборов изменений, но представляет собой повторно проверенный протокол без проверки подлинности.

В настоящее время Heroku, по-видимому, разрешает SSH-транспорт только для своих репозиториев git, и, похоже, нет прямых хуков на Github (см. Переход с github на heroku без загрузки репо ). Это означает, что для публикации своих приложений на Heroku вам необходимо , чтобы иметь возможность отправлять на heroku.com через SSH с локального хоста.

2 голосов
/ 09 февраля 2011

Вы также можете нажать на https://cloudhead@github.com/cloudhead/dorothy.git (запишите имя пользователя в URL).

1 голос
/ 23 июля 2012

Когда вы нажимаете на этот пульт, это делается через SSH. Ошибка, которую вы получаете, заключается в том, что клиент не может подключиться через SSH, скорее всего, потому что вы находитесь за каким-то типом брандмауэра, который предотвращает соединение. Раньше у меня была такая же проблема при попытке подтолкнуть Героку с работы.

Я бы посоветовал вам развиваться локально, а затем перейти на какую-то публичную точку доступа, чтобы отправить изменения в Heroku (например, Starbucks).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...