it-swarm.com.de

Git Pull ist sehr langsam .. warum?

Hinweis: Ich habe die Frage " git-is-very-very-slow " studiert. In ihrem Fall waren dies große Binärdateien. In meinem Repository befindet sich jedoch nur PHP/JS/HTML/CSS-Code (keine Binärdateien). Die größte Datei im Repository beträgt etwa 800 KB.

Ich habe eine Datei (ein paar Zeilen) geändert, dann git add . und git commit -m "msg", dann git Push Origin master.

Auf einem anderen Rechner werden git pull Origin master einige MiB-Daten heruntergeladen, und es dauert mehr als 2 Minuten, um das Delta zu berechnen und Änderungen anzuwenden. Etwas ist hier schrecklich falsch.

Ich vermute, dass einige kürzlich durchgeführte Operationen dies verursachen könnten:

in letzter Zeit habe ich versehentlich viele Anbieter-Assets (bower_components-Assets) hinzugefügt. Als ich es merkte, habe ich git rm verwendet, um sie aus dem Repository zu entfernen (und natürlich aus git add, git commit und git Push).

Das war vor ein paar Tagen und die Probleme, die ich jetzt habe, begannen zu dieser Zeit zu laufen.

Ich habe zwei Fragen:

  • warum das so ist
  • wie kann ich mein Repository reparieren?

Hinweis: Ich bin der einzige, der dieses Repo nutzt und vorschreibt.

21
ioleo

Das Problem war im EmberJS App-Verzeichnis. Es enthielt node_modules- und bower_components-Verzeichnisse, in denen von GruntJS verwendete Bibliotheken von Drittanbietern zum Erstellen meiner JS- und CSS-Assets verwendet wurden.

Jede dieser Dateien enthielt viele Dateien und Verzeichnisse. In Anbetracht dessen, dass der Abhängigkeitsbaum Hunderte von Bibliotheken enthielt, deren Größe von kleinen (wenigen Dateien) bis zu großen Dateien (viele Dateien) variiert.

Nachdem Sie diese Verzeichnisse entfernt und ignoriert haben, arbeitet das Git-Repository wieder schnell.

2
ioleo

Ich hatte eine ähnliche Erfahrung - git pull und Push laufen plötzlich extrem langsam ab und dauern zehn Minuten oder länger, sowohl auf meinem lokalen Mac OSX als auch auf meinem Linux/Apache-Server. Ich habe die lokale Kopie des Repos auf meinem Mac gelöscht und erneut geklont, und es lief gut. Habe dasselbe auf dem Server gemacht, und alles ist gut. Ich nehme an, es war irgendwie korrupt?

4
NessBird

Ich hatte das gleiche Problem, als ich mit tausenden kleiner Dateien zu tun hatte. Das Problem, das für mich behoben wurde, bestand darin, den Postpuffer in git repo's config zu setzen

git config http.postBuffer 524288000

Statt mit 18KB/s hochzuladen, wurde plötzlich die volle Bandbreite genutzt

0
Sander Stad