# Welche Datei bläht mein Git-Repository auf? Canonical page: https://blame76.com/snippets/bash/2026-09-17-welche-datei-bl-ht-mein-git-repository-auf/ Category: Snippets Type: Bash Published: 2026-09-17 Updated: 2026-09-17 Tags: git, repository, history, blob, storage Das Repository ist plötzlich riesig oder der Clone dauert auffällig lange. Im aktuellen Projektbaum findest du aber keine entsprechend große Datei. ## Das Problem `du` und `find` betrachten vor allem den aktuellen Dateibaum. Git speichert jedoch Objekte aus älteren Commits weiter. Ein längst gelöschtes ZIP, SQL-Dump oder Video kann deshalb weiterhin den größten Teil von `.git` ausmachen. ## Analyse Zuerst messen wir die Git-Daten selbst: ``` du -sh .git ``` Ist `.git` groß, interessieren die größten Blobs der erreichbaren Historie: ``` git rev-list --objects --all \ | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \ | awk '$1=="blob"' \ | sort -k3nr \ | head -20 ``` `git rev-list --objects --all` liefert die Objekte samt bekannten Pfaden. `git cat-file --batch-check` ergänzt Typ und Größe. Danach bleiben nur Blobs übrig und die größten landen oben. ## Ergebnis lesen Siehst du dort eine Datei mit hundert Megabyte, obwohl sie im Working Tree längst fehlt, hast du die Ursache gefunden: **Git-Historie, nicht aktueller Dateibaum**. ## Wichtig Damit ist noch nichts entfernt. History-Rewrite mit `git filter-repo` oder ähnlichen Werkzeugen verändert Commit-IDs und betrifft alle Klone. Das ist ein eigener, bewusster Schritt. Quelle: https://git-scm.com/docs/git-cat-file