2013-03-23 8 views
56

Jestem pod pełnomocnictwem i piszę, aby odczekać chwilę.
Teraz nie jestem w stanie gwałtownie wepchnąć się w git.
Ustawiłem klucz RSA i proxy i dwukrotnie je sprawdziłem, bez skutku, a git rzuca mi błąd pokazany w tytule strony.ssh: połącz się z hostem github.com port 22: Połączenie się wygaśnie

+0

Utwórz hotspot na urządzeniu mobilnym, połącz się za pomocą urządzenia mobilnego, a następnie naciśnij "git push". Pracował dla mnie. – zundi

Odpowiedz

113

Powodem może być modyfikacji zapory, jak jesteś w ramach sieci. (W takim przypadku mogą one celowo blokować niektóre porty)
Aby dokładnie sprawdzić, czy to jest powód ... zrobić

ssh -T [email protected] 

to powinien być limit czasu. Jeśli tak jest, użyj protokołu http zamiast ssh w ten sposób
wystarczy zmienić adres URL w pliku konfiguracyjnym na http.
Oto jak: -

git config --local -e 

wpis zmiana

url = [email protected]:username/repo.git 

do

url = https://github.com/username/repo.git 
+1

Rzeczywistym formatem identyfikatora URI repo HTTPS jest 'https: // github.com/username/repo.git', a nie' https: // pboone @ github.com/username/repo.git' – lantrix

+0

@lantrix true that! –

+2

Miałem ten problem raz, ale ponowne uruchomienie mojego komputera rozwiązało go. –

26

podstawowe Przepisywanie URL

Git dostarcza drogę do przepisywania adresów URL za pomocą git config. Wystarczy wydać następujące polecenie:

git config --global url."https://".insteadOf git:// 

Teraz, jak za dotknięciem czarodziejskiej różdżki, wszystkie polecenia git będzie wykonać podstawienie git:// do https://

źródło: git:// protocol blocked by company, how can I get around that?

+0

Dzięki! Nasze było podczas kompilacji Jenkinsa, więc nie mogłem ręcznie edytować pliku git (nie mam danych logowania git dla konta Jenkins) - więc było to bardzo przydatne. – Phil

+0

To jest świetne. Dodałem aliasy git dla każdego, aby łatwo zmienić – lfender6445

+3

W przypadku github, polecenie powinno brzmieć: 'git config --global url." Https://github.com/ ".insteadOf [email protected]:'. Zauważ różnice: '@' zmienia się w '//', a ':' w '/'. – Frodon

2

Execute:

nc -v -z <git-repository> <port> 

Twoje dane wyjściowe powinny wyglądać podobnie e:

"Connection to <git-repository> <port> port [tcp/*] succeeded!" 

Jeśli masz:

connect to <git-repository> <port> (tcp) failed: Connection timed out 

Musisz edytować plik ~/.ssh/config. Dodaj coś jak następuje:

Host example.com 
Port 1234 
0

miałem ten sam problem, ale odpowiedź znalazłem był inny, że ktoś może zetknąć się z tym problem, więc tutaj jest moje rozwiązanie.

miałem do białej 2 adresy IP dla portu 22, 80, 443 i 9418:

  • 192.30.252.0/22

  • 185.199.108.0/22

W przypadku tych IP nie działają może to wynikać z tego, że zostały zaktualizowane, możesz znaleźć najwięcej cur wynajmij je na this page.

Powiązane problemy