git filter-repo
Jeder hat schon einmal versehentlich eine Config-Datei mit sensiblen Daten in ein Repository gepusht, und das ist auch okay! Wichtig ist dabei nur, dass man diese Datei danach wieder spurenlos aus dem Repository entfernt, damit geheime Informationen nicht in die falschen Hände geraten können.
Der Befehl git filter-repo ist ein leistungsstarkes Werkzeug, das verwendet wird, um Git-Repositorys zu bereinigen und zu transformieren. Es ist schneller und flexibler als der frühere git filter-branch. Mit git filter-repo kannst du z. B. sensible Daten aus der Historie entfernen, Branches umbenennen oder die Struktur des Repositorys verändern.
Vorbereitungen
Da git filter-repo nicht standardmäßig bei Git mitgeliefert wird, musst du es zuerst installieren.
pacman -S git-filter-repo
Auf Windows: Eine Anleitung zur Installation findest du hier.
Wichtig
Entfernen einer unerwünschten Datei
git filter-repo --path config.bak.js --invert-paths
--path config.bak.js: Gibt die Datei an, die entfernt werden soll.
--invert-paths: Entfernt die angegebene Datei aus der gesamten Historie.
Aktualisiere .gitignore
.gitignore-Datei hinzugefügt werdenForce-Push zum Remote-Repository
git push origin --force --allTags Force-Pushen (falls erforderlich)
git push origin --force --tags