Git Push hängt

Abdul Jabbar 20 Juni 2023
Git Push hängt

Manchmal erleben Entwickler eine Situation, in der sie einige Änderungen mit dem Befehl git push in das Repository übertragen möchten, und nachdem sie diesen Befehl angewendet haben, erfahren sie, dass ihr System hängen geblieben ist, und sie fühlen sich in dieser Situation ahnungslos.

Diese Situation tritt auf, wenn die Entwickler einen PC mit sehr alter Technologie haben und ihr Speicher nicht genügend Unterstützung bietet, um diese Aktionen zu verwalten.

Eine der richtigen und langfristigen Lösungen für dieses Problem besteht darin, den PC oder das System zu aktualisieren und die Git-Befehle ohne Probleme zu verwenden.

Dieses Tutorial hilft uns, das Problem des Aufhängens zu lösen, wenn ein git push mit dem Git-Befehl auf riesige Dateien angewendet wird.

Git Push Hangs-Lösung

Entwickler stehen diesen Problemen normalerweise aufgrund der kolossalen Größe gegenüber, die viel Zeit zum Hochladen benötigt. Deshalb sollte die Datei beim ersten Durchlauf nicht im Push-Befehl hinzugefügt werden.

git config --global http.postBuffer 524288000

Die folgenden Befehle gelten nur für ssh.

  1. Hier müssen wir ein Skript wie ~/sshv.sh erstellen.

    #!/bin/bash
    ssh -vvv "$@"
    
  2. Dann müssen wir Berechtigungen mit dem folgenden Befehl hinzufügen.

    chmod u+x ~/sshv.sh
    
  3. Schieben Sie es dann in das Repo, in das Sie den Code verschoben haben.

    GIT_SSH=~/sshv.sh git push <rest of your command>`
    

Verwenden Sie Git askpass

Wir können dieses hängende Problem auch mit dem folgenden Befehlszeilenskript lösen.

git config --global core.askpass "git-gui--askpass"

Der obige Befehl wird meistens verwendet, wenn der Befehl das erste Argument nicht korrekt an den Knoten liefert, was das Hängenproblem im Befehl git push in Git verursacht.

SSH-Agent neu starten

Wenn das Problem immer noch nicht behoben ist, besteht die endgültige Lösung für dieses Problem darin, den SSH-Agenten mit dem folgenden Befehl in Git neu zu starten.

killall ssh-agent; eval `ssh-agent`

Diese SSH-Schlüssel werden meistens an den Orten ~/.ssh/id_rsa und ~/.ssh/id_rsa.pub gespeichert. Wir können diese Schlüssel auch an einen anderen Ort übertragen, falls dieses Problem in Zukunft weiterhin auftritt.

Aber der obige Befehl setzt Ihre SSH-bezogenen Probleme zurück und das hängende Problem wird schließlich gelöst.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Push