↑ ↓ auswählen, Enter öffnen, Esc schließen

Größte Dateien im gesamten Git-Verlauf finden

Werte anpassen, der Befehl aktualisiert sich live
user@server
git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '$1=="blob"' | sort -k3 -rn | head -n 20

Ermittelt alle Objekte, die in irgendeinem Commit vorkommen, fragt ihre Größe ab und sortiert die Dateien (Blobs) absteigend. Die Spalten sind Typ, Hash, unkomprimierte Größe in Bytes und Pfad. Typische Funde sind versehentlich eingecheckte Datenbank-Dumps, Backups oder Videos.

Hinweis: Auch bereits gelöschte Dateien erscheinen, da sie im Verlauf weiter existieren. Zum endgültigen Entfernen ist ein Umschreiben der Historie nötig, etwa mit git filter-repo.

Auch gesucht als

  • warum ist das Repository so groß
  • große Dateien in git finden
  • git clone dauert ewig

Verwandte Einzeiler

Alle aus Git

Erst lesen, dann ausführen.

Die Befehle auf myline.de greifen direkt in Server, Dateien und Datenbanken ein. Ein falscher Pfad oder Platzhalter kann Daten unwiderruflich löschen oder einen Server unerreichbar machen.

  • Alle Befehle werden ohne Gewähr bereitgestellt und sind nicht auf jedem System getestet.
  • Vor dem Ausführen verstehen, was ein Befehl tut, und jeden Platzhalter prüfen.
  • Vorher ein Backup anlegen und möglichst zuerst auf einem Testsystem ausprobieren.
  • Die Ausführung erfolgt auf eigene Verantwortung. Eine Haftung für Schäden ist ausgeschlossen, soweit gesetzlich zulässig.