Надо помнить, что
GIT - the stupid content tracker
Git не станет выполнять работу за разработчика.
То, что папка .git растёт - совершенно нормальное явление для любого развивающегося проекта.
По логике, нужно предотвратить занесение в репозиторий определённых файлов, указывая маски в файле .gitignore проекта.
Всё же есть способ очистить историю от "случайных" файлов:
https://help.github.com/articles/remove-sensitive-data/This article will explain how to use two of them: git filter-branch and the BFG Repo-Cleaner.