This weekend I moved our company’s primary code repository from a private server to Github. It wasn’t easy as there were 5 years of code changes (including large database files and even built binaries). I was able to shrink it from about 4Gb to 440mb by removing large files from previous commits, moving built libraries and databases to S3, and removing unused parts of the repo. I could not have done it in a reasonable time without the BFG Repo Cleaner. Initial attempts with git filter-branch would take hours. This tool would take seconds.