Warum filter-repo
git filter-repo ist der moderne Ersatz fur das veraltete git filter-branch. Drastisch schneller — manchmal 100x — sicherer per Default und bietet Hochlevel-Operationen, die Historie-Chirurgie tatsachlich braucht.
Installation
macOS: brew install git-filter-repo. Debian/Ubuntu: apt install git-filter-repo.
Datei aus gesamter Historie entfernen
git filter-repo --path secrets.env --invert-paths
Unterverzeichnis als neues Repo extrahieren
git clone --no-local original/ extracted/
cd extracted
git filter-repo --subdirectory-filter packages/foo
Pfade umbenennen
git filter-repo --path-rename old/dir/:new/dir/
Autor-E-Mails aktualisieren
cat > mailmap.txt <<'EOF'
Jane Doe <[email protected]> <[email protected]>
EOF
git filter-repo --mailmap mailmap.txt
Sicherheitsfeatures
git filter-repo --force
Haufige Fehler
Auf dem einzigen Klon mit --force und ohne Backup ausfuhren.
Performance
filter-repo nutzt git fast-export/fast-import, daher die Geschwindigkeit.