Pular para o conteúdo
Cripta do Git

/static/cripta/ossada/filter-branch/

Menu

GIT-026 · Cirurgia

git filter-branch

Reescrevia a história inteira — e hoje o próprio manual manda chamar outro.

Durante anos foi a serra da cripta: reescrever cada commit do repositório para arrancar um segredo vazado, mover a base inteira para uma subpasta, trocar um e-mail em toda parte. Um filtro em shell, aplicado commit a commit, do primeiro ao último.

A ressalva honesta: a própria documentação abre com um aviso de página inteira — desempenho sofrível e armadilhas capazes de corromper a reescrita — e recomenda no lugar o git filter-repo, ferramenta externa ao git. A ossada fica exposta aqui como se expõe um fóssil: importante, e aposentada.

$ git filter-branch --tree-filter 'rm -f segredo.env' HEAD
WARNING: git-filter-branch has a glut of gotchas [...]
Rewrite 3bf1f68 (312/312)
Ref 'refs/heads/main' was rewritten
A serra antiga ainda corta — avisando a cada uso.