git filter-repo is a versatile tool for rewriting history, which includes capabilities I have not found anywhere else. It roughly falls into the same space of tool as git filter-branch but without the capitulation-inducing poor performance, with far more capabilities, and with a design that scales usability-wise beyond trivial rewriting cases. git filter-repo is now recommended by the git project instead of git filter-branch. While most users will probably just use filter-repo as a simple command line tool (and likely only use a few of its flags), at its core filter-repo contains a library for creating history rewriting tools. As such, users with specialized needs can leverage it to quickly create entirely new history rewriting tools. filter-repo requires: git >= 2.36.0 python3 >= 3.6 While the git-filter-repo repository has many files, the main logic is all contained in a single-file python script named git-filter-repo, which was done to make installation for basic use on many systems trivial: just place that one file into your $PATH. See INSTALL.md for things beyond basic usage or special cases. The more involved instructions are only needed if one of the following apply: you do not find the above comment about trivial installation intuitively obvious you are working with a python3 executable named something other than "python3" you want to install documentation (beyond the builtin docs shown with -h) you want to run some of the contrib examples you want to create your own python filtering scripts using filter-repo as a module/library For comprehensive documentation: see the user manual alternative formating of the user manual is available on various external sites (example), for those that don't like the htmlpreview.github.io layout, though it may only be up-to-date as of the latest release If you prefer learning from examples: In either case, you may also find the Frequently Answered Questions useful. Why filter-repo instead of other alternatives? This was cover...
First seen: 2026-07-24 05:15
Last seen: 2026-07-24 11:21