Yarin Yarin - 3 months ago 8
Git Question

Why is my .git file huge?

I accidentally added and committed some very large (100MB+) PSD files in a git directory. I made a bunch of edits to those files while they were in the directory, but then realized they shouldn't be there and removed them from the directory.

I then ran:

git add --all && git commit -m "Removed large psds"


The files in my directory now add up to less than a dozen MB, except for the .git file itself however, which is 700MB+.

What is going on here? Is it retaining old versions of the removed .PSD files? Does that mean git doesn't ever clear out the space gained from deleting files? How do I have it forget about those files completely so that I can bring the .git file size back down?

Answer

Your .git folder is really big because the PSDs files are still present in the repository. To remove them, you need to modify the history using git filter-branch. Here explains how to use this command. After, you will need to clean the repository.

I created a script to help this job. If you want to use it, you can download it from github. Any comments are welcome.