12.2K ·GitHub
What is this?
BFG Repo-Cleaner is a command-line tool that removes large or troublesome blobs (big files, passwords, credentials, private data) from a Git repository's history, acting as a faster alternative to git-filter-branch.
Is it a CLI tool or something else?
It's a standalone command-line Java/Scala jar you run against a repository clone; there's no GUI or library API to integrate into other code.
How do I run it on my repo?
Download the BFG jar and run it with Java against a bare mirror clone of your repository, then follow up with git's standard history cleanup commands as documented.
Do I need Java installed to use it?
Yes, since the BFG is distributed as a jar file written in Scala, you need a Java runtime to execute it.
How much faster is it than git-filter-branch?
The README claims it is 10 to 720 times faster than git-filter-branch for cleansing bad data from a Git repository.
Who typically needs this tool?
Developers who need to purge accidentally committed large files or leaked secrets (passwords, credentials) from their Git history before it stays permanently in the repo.
What are the two main use cases?
Removing accidentally committed huge files that bloat the repo, and stripping out passwords or other private data that leaked into commit history.
Does it rewrite git history like git-filter-branch?
Yes, it rewrites history the same way git-filter-branch does, but is designed to be dramatically faster for these common cleanup operations.
What are similar projects?
turbocrypt, git-sim, xerj, GDecay, git-secrets, Photon, thefuck, lazygit
Which topics is it in?
scala, git, command-line, gplv3, command-line-tool, privacy, security, cli, cross-platform, developer-tools, windows, macos