Da Anonimo (non verificato) , 29 Aprile 2026

Perche filter-repo

git filter-repo e il moderno sostituto del deprecato git filter-branch. E drasticamente piu veloce — talvolta 100x — piu sicuro per default, e fornisce le operazioni di alto livello che la chirurgia della storia richiede.

Installazione

Su macOS: brew install git-filter-repo. Su Debian/Ubuntu: apt install git-filter-repo.

Rimuovere un file da tutta la storia

git filter-repo --path secrets.env --invert-paths

Estrarre una sottodirectory come nuovo repo

git clone --no-local original/ extracted/
cd extracted
git filter-repo --subdirectory-filter packages/foo

Rinominare percorsi

git filter-repo --path-rename old/dir/:new/dir/

Aggiornare email autori

cat > mailmap.txt <<'EOF'
Jane Doe <[email protected]> <[email protected]>
EOF
git filter-repo --mailmap mailmap.txt

Funzionalita di sicurezza

git filter-repo --force

Errori comuni

Eseguire sull'unico clone con --force e senza backup. Clonare sempre prima.

Performance

filter-repo usa git fast-export/fast-import, motivo della sua velocita.