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
.
-
Hier müssen wir ein Skript wie
~/sshv.sh
erstellen.#!/bin/bash ssh -vvv "$@"
-
Dann müssen wir Berechtigungen mit dem folgenden Befehl hinzufügen.
chmod u+x ~/sshv.sh
-
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 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.
LinkedInVerwandter Artikel - Git Push
- Commit und pushen Sie eine einzelne Datei auf die Remote
- Führen Sie mit Git einen anfänglichen Push zu einem Remote-Repository durch
- git add, git commit und git push in One Command
- Git Push zum Überschreiben von Dateien im Remote-Repository erzwingen
- Git-Push zu einem anderen Zweig mit einem anderen Namen