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
This is NOT an official distribution of git filter-repo, refer the snap's own issue tracker for support:
This snap ships the following terminal commands:
This snaps includes custom patches that are pending to be merged by the upstream, you may refer the packaging recipe for the details:
User contributed programs can be used called using the git-filter-repo.command-name command, you can also call the command-name directory after setting the snap alias:
sudo snap alias git-filter-repo._command-name_ _command-name_