Von Gast (nicht überprüft) , 29 April 2026

Das Problem des pfad-eingeschrankten Logs

git log -- path/to/file muss prinzipiell jeden Commit durchqueren und gegen seinen Vater diffen. Changed-path Bloom-Filter (Git 2.27+) beschleunigen dies dramatisch.

Wie Bloom-Filter funktionieren

Ein Bloom-Filter ist eine kleine Bitmap, die "definitiv nicht im Set" oder "wahrscheinlich im Set" fur Membership-Anfragen zuruckgibt.

Aktivieren

git commit-graph write --reachable --changed-paths
git config commitGraph.changedPathsVersion 2
git maintenance run --task=commit-graph

Verifizieren

GIT_TRACE2_PERF=1 git log -- src/foo.c 2>&1 | grep -i bloom
git commit-graph verify

Wann es glanzt

  • Lange laufende Monorepos mit vielen Commits, die nur wenige Dateien beruhren.
  • git log -- src/specific/dir Anfragen.
  • git blame auf einzelnen Dateien.

Wann es nicht hilft

  • Glob/Regex-Pfade.
  • Logs ohne -- Pfad-Argument.
  • Sehr kleine Repos.

Speicher und Disk

git config commitGraph.maxNewFilters 50000

Haufige Fehler

Den Graphen ohne --changed-paths schreiben.