macOS
brew install git-filter-repoprovider-native install command
brew / rank 485
Quickly rewrite git repository history. Version 2.47.0 via Homebrew; verified from local package data.
install
brew install git-filter-repoprovider-native install command
overview
Quickly rewrite git repository history
history
git-filter-repo is a Python-based Git history rewriting tool by Elijah Newren, positioned as a safer and faster successor to git filter-branch for repository cleanup, extraction, path rewriting, tag rewriting, and sensitive-data removal.
The project grew out of Newren's work on Git fast-export and fast-import based history filtering. The public repository carries imported history back to a 2009 initial import, while the standalone GitHub project was established in 2018 and began tagging releases alongside Git 2.23-era packaging. Its README frames the tool as a response to shortcomings in git filter-branch and BFG Repo Cleaner: poor performance, confusing multi-step cleanup, limited rewrite types, and fragile shell-based filtering.
Adoption was accelerated by the Git project's own filter-branch documentation, which warns against filter-branch for many use cases and points users toward git-filter-repo. The project became a standard answer for history-rewrite work because it combines a command-line interface, a Python library for custom filters, conversion guides from filter-branch and BFG, and packaging in common Unix package ecosystems.
Practitioners use git-filter-repo for destructive repository rewrites: removing large blobs or secrets, extracting a subdirectory with history, moving a project into a subdirectory before a merge, renaming tags, rewriting author data with mailmap information, or replacing text across historical blobs. The tool deliberately encourages use from a fresh clone and performs cleanup steps such as pruning old history and repacking so users do not mix rewritten and original refs.
For package maintainers and release engineers, git-filter-repo matters because it replaced a folklore-heavy set of filter-branch recipes with a single-file script, a documented manual, and reproducible transformations. Its existence also fed changes back into core Git fast-export and fast-import behavior, making it part of the broader Git tooling ecosystem rather than only a cleanup script.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
git-filter-repo | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:git-filter-repo |
|---|---|
| Version | 2.47.0 |
| Package manager | Homebrew |
| Homepage | https://github.com/newren/git-filter-repo |
| Repository | https://github.com/newren/git-filter-repo |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.