2012-12-12 11 views
5

Ich kann nicht zu Github schieben. Ich konnte wenig Änderungen schieben, aber dieses Mal, hängt es, nachdem er schreibt dies:Git hängt auf Push

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) 

Auf meinem Ubuntu Process Manager, ich sah, dass ssh hängt, wenn ich versuche, etwas zu schieben und es ist: ssh git @ github.com git-erhalten-Pack 'xxx/yyy.git'

Wenn ich versuche, direkt auf meinem Terminal, diesen Befehl auszuführen, jetzt hängt es, nachdem es dieses schreibt: Alle

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

die anderen thins gut arbeiten, aber ich kann nicht drücken. Was könnte der Grund sein?

Weitere Informationen: Ich erstellte die Git-Datei neu und änderte die Remote auf HTTP von SSH. Jetzt bekomme ich diesen Fehler, wenn ich zu drücken versuchen:

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 

Zusatzinformationen 2: Ich habe es stundenlang getestet und es sieht aus wie meine Netzwerkverbindung ist das Problem. Ich habe versucht, von einer anderen Verbindung zu drücken, und es hat sehr gut funktioniert. Was könnte der Grund dafür sein? Die Firewall des Modems ist übrigens deaktiviert.

+0

Ich glaube, Ihr Problem ist das gleiche wie dieses: [GIT unmöglich nach dem Hinzufügen zu schieben] (http://stackoverflow.com/questions/14123170/git-impossible-to-push-after-add). Versuchen Sie diese empfohlene Lösung. – IQAndreas

Antwort

-2

Überprüfen Sie, ob Ihre Netzwerkverbindung beim Hochladen zu langsam ist. Vielleicht brauchst du nur Zeit. Können Sie Ihre Netzwerkverbindung überwachen, um zu sehen, ob Sie Daten upstream senden?

+2

Ich lade ein 300-KB-Bild in weniger als 5 Sekunden auf Google Mail hoch. Ich glaube nicht, dass meine Netzwerkverbindung zu langsam ist. Gibt es eine Möglichkeit, den Git-Upload zu überwachen? Ich kann es versuchen. – gzg

+1

Überprüfen Sie, ob bei Ihrer Netzwerkverbindung ein MTU-Problem vorliegt. Wenn Sie die MTU der Schnittstelle Ihres Computers auf 1280 senken, können Sie drücken? –

0

In meinem Fall war das Problem mit Zugriffsrechten auf das Repository verbunden. Ich hatte nur Zugriff gelesen, nachdem ich Rechte zum Schreiben hinzugefügt hatte, Problem wurde gelöst.

+0

Nicht sicher, warum dies abgelehnt wurde. Dies löste das Problem für mich, lohnt sich, überprüfen Sie Ihre Dateisystem Berechtigungen auf der Remote-Seite erste Leute. (Nicht sicher, warum kein Fehler in den Prozess geworfen wird.) – Adambean

-1

Erster Lauf der folgende:

env | grep SSH_ASKPASS 

wenn Sie nichts bekommen, dann müssen Sie diesen Wert gesetzt. Wenn Sie GNOME verwenden, den Standort von gnome-ssh-askpass.sh finden, die in der Regel, indem Sie folgende gefunden:

find/| grep gnome-ssh-askpass 

und es wird in der Regel gefunden im /etc/profile.d Verzeichnis. Normalerweise hätte dies automatisch geladen, aber aus irgendeinem Grund nicht. so laufen die folgenden:

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

(alternativ können Sie nur chmod +x die Datei und führen Sie es direkt, es ist bis zu Ihnen)

Ist das erledigt, stellen Sie sicher, dass es einen Wert für env | grep SSH_ASKPASS ist und dann git push wird wieder funktionieren.

Wenn Sie die gnome-ssh-askpass.sh Datei nicht gefunden haben, dann ein yum search ssh-askpass tun, und das Paket installieren (in der Regel yum install openssh-askpass)

Für apt-get, etwas ähnliches tun Sie verwenden gnome unter der Annahme, aber wenn kde, dann vielleicht gibt es a kde-ssh-askpass ??

8

Ich habe die letzten 5 Stunden damit verbracht, ein ähnliches Problem zu beheben. Erstens, führen Sie dies über eine Tunnel- oder VPN-Verbindung aus?

Es stellt sich heraus, dass die MTU (Maximum Transmission Unit) eines Tunnels falsch konfiguriert werden kann, da einige Router in der Mitte des Netzwerkpfads nur eine niedrigere MTU unterstützen können, aber dies ist der VPN/Tunnel-Software nicht bekannt. was zu verlorenen Paketen führt.

So ist die schnelle Antwort ist, zu versuchen, die MTU Ihrer Verbindung zu senken:

sudo ifconfig eth0 mtu 1300 

Hier bin ich die MTU für die eth0 Schnittstelle einstellen, ersetzen mit der Schnittstelle Sie tatsächlich die Verwendung von zugreifen Git Server. Die Standard-MTU ist normalerweise 1500.

Für OpenVPN musste ich die tun0 Schnittstelle aktualisieren. In der OpenVPN-Konfiguration gibt es eine bessere/robustere Möglichkeit: Verwenden Sie die Optionen link-mtu <n> und mssfix.

+1

+1 'weil du mich gerade Stunden gespeichert hast. Was ich nicht ganz nachvollziehen kann ist, warum sich die MTU irgendwo zwischen meinen Endpunkten verändert hat. – DorianFM