If you have commits in your git repo that you want removed, you can use git-filter-branch, but that can be pretty slow. Perhaps you accidentally committed and pushed a password, a db dump, email addresses, etc. BFG makes it easy to clean out those files and does it ~ 10-100x faster that git-filter-branch.