Why git filter-repo is the Superior Replacement for git filter-branch

Quickly rewrite Git repository history

I built git filter-repo to solve the severe performance issues and safety risks found in git filter-branch. This versatile tool offers far more capabilities for rewriting Git history while remaining easy to use. Now officially recommended by the Git project, it serves as both a simple command-line utility and a library for creating custom history rewriting tools, effectively replacing older solutions like BFG Repo Cleaner.

filter-branch is extremely to unusably slow for non-trivial repositories and riddled with gotchas that can silently corrupt your rewrite.
  1. wincent

    By Elijah Newren, author of Git's newer mergeort merge algorithm. ("ort" or "ostensibly recursive's twin" replaced the older recursive merge algorithm.)

  2. ifh-hn

    I'm not a git user (it's true, I'm not a professional dev and use fossil for my pet projects) so honest question: why would you want to rewrite your history?

  3. sleepytoken

    This tool really helped when I was migrating code across repositories. Thanks a lot!

More from this day

2026-07-24