2012-12-12 24 views
5

Nie mogę popchnąć do github. Udało mi się wcisnąć trochę zmian, ale tym razem, to zawiesza się po pisze on tak:git wisi na pchnięciu

git push origin master 
Counting objects: 22, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (12/12), done. 
Writing objects: 100% (12/12), 1.51 KiB, done. 
Total 12 (delta 8), reused 0 (delta 0) 

Na moim Ubuntu Process Manager, widziałem, że ssh zawiesza się przy próbie pchnąć coś i to jest: ssh git @ github.com git-otrzymywać-pack 'xXX/yyy.git'

Kiedy próbuję uruchomić to polecenie bezpośrednio na moim terminalu, teraz wisi po pisze on tak:

0078...7d4 refs/heads/master report-status delete-refs side-band-64k quiet ofs-delta 
0000 

wszystkich innych rozrzedza działa dobrze, ale nie mogę naciskać. Jaki mógł być powód?

Informacje dodatkowe: Ponownie stworzyłem plik git i zmieniłem pilota na HTTP z SSH. Teraz mam ten błąd, gdy próbuję pchania:

Counting objects: 17, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (9/9), done. 
Writing objects: 100% (9/9), 1.19 KiB, done. 
Total 9 (delta 6), reused 0 (delta 0) 
error: RPC failed; result=52, HTTP code = 0 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 
Everything up-to-date 

Dodatkowe informacje 2: Mam został przetestowany go godzinami i wygląda na to moje połączenie sieciowe jest problem. Próbowałem wypchnąć z innego połączenia i działało bardzo dobrze. Jaki może być tego powód? Zapora sieciowa modemu jest wyłączona, tak przy okazji.

+0

Wierzę, że twój problem jest taki sam jak ten: [GIT niemożliwe do wypchnięcia po dodaniu] (http://stackoverflow.com/questions/14123170/git-impossible-to-push-after-add). Wypróbuj to zalecane rozwiązanie. – IQAndreas

Odpowiedz

-2

Sprawdź, czy połączenie z siecią przesyła się zbyt wolno. Może potrzebujesz czasu. Czy możesz monitorować połączenie sieciowe, aby sprawdzić, czy przesyłasz dane do sieci?

+2

Przesyłam obraz o wielkości 300 kb do Gmaila w mniej niż 5 sekund. Nie sądzę, że moje połączenie sieciowe jest zbyt wolne. Czy istnieje sposób monitorowania przesyłania gita? Mogę spróbować. – gzg

+1

Sprawdź, czy masz problem z MTU w połączeniu sieciowym. Jeśli obniżysz MTU interfejsu komputera do 1280, czy będziesz mógł naciskać? –

0

W moim przypadku problem był związany z prawami dostępu do repozytorium. Miałem dostęp tylko do odczytu, po dodaniu uprawnień do pisania problem został rozwiązany.

+0

Nie wiem, dlaczego to zostało odrzucone. Rozwiązało to problem dla mnie, warto dwukrotnie sprawdzić uprawnienia systemu plików na pierwszej stronie zdalnej. (Nie wiem, dlaczego nie zgłoszono błędu w procesie). – Adambean

-1

Pierwsze uruchomienie następuje:

env | grep SSH_ASKPASS 

jeśli się nic, to trzeba ustawić tę wartość. Jeśli używasz GNOME, znaleźć lokalizację gnome-ssh-askpass.sh który jest zwykle znaleźć w następujący sposób:

find/| grep gnome-ssh-askpass 

i to zwykle znajduje się w katalogu /etc/profile.d. Normalnie ładowałoby się to automatycznie, ale z jakiegoś powodu tak się nie stało. więc należy wykonać:

source /etc/profile.d/gnome-ssh-askpass.sh 

(alternatywnie, można po prostu chmod +x plik i uruchomić go bezpośrednio, to do Ciebie)

Gdy to zrobisz, upewnij się, że nie jest wart env | grep SSH_ASKPASS a następnie git Push będzie działać ponownie.

Jeśli nie znaleźć plik gnome-ssh-askpass.sh, następnie zrobić yum search ssh-askpass i zainstalować pakiet (zazwyczaj yum install openssh-askpass)

Dla apt-get, zrobić coś podobnego przy założeniu używasz gnome, ale jeśli kde, to może tam a kde-ssh-askpass ??

8

Spędziłem ostatnie 5 godzin próbując naprawić podobny problem. Po pierwsze, uruchamiasz to przez tunel lub połączenie VPN?

Przekonuje, że MTU (Maximum Transmission Unit) tunelu może być źle skonfigurowany, ponieważ niektóre routery znajdujące się w środku ścieżki sieciowej mogą obsługiwać tylko niższy MTU, ale nie jest to znane oprogramowaniu VPN/tunelu, powodujące upuszczenie pakietów.

Tak szybka odpowiedź jest, aby spróbować zmniejszyć MTU Twojego połączenia:

sudo ifconfig eth0 mtu 1300 

Tutaj mam ustawienie MTU dla interfejsu eth0 wymienić z interfejsem jest rzeczywiście używany do dostępu do serwer git. Domyślna wartość MTU to zwykle 1500.

Dla OpenVPN musiałem zaktualizować interfejs tun0. Istnieje lepszy/bardziej wydajny sposób wykonania tej czynności w konfiguracji OpenVPN: użyj opcji i mssfix.

+1

+1 "bo właśnie uratowałeś mi godziny. Nie mogę do końca dojść do tego, dlaczego MTU gdzieś pomiędzy punktami końcowymi zmieniło się. – DorianFM