Как почистить историю git?
Есть небольшой проект. Периодически делаю коммиты и отправляю ветку на сервер (push). За всю историю было коммитов 40. Размер файлов с кодами отсилу 300 кб однако размер репозитория разросся до 500 мб. Я особо не заморичивался и добавлял в индекс все что было в папке рабочего проекта. Туда иногда попадал всякий хлам который тоже коммитился. Сейчас хочу почистить историю проекта и поудалять тяжелые файлы, чтобы уменьшить размер репозитория. В связи с этим вопросы:
1. Как посмотреть в истории коммитов общий размер добавленных в коммит файлов. Т.е. хотелось бы видеть список всех коммитов на против которых был бы отражен размер добавленной в репозитопий информации.
2. Как увидеть список директорий/файлов конкретного коммита с указанием размеров директории/файла. Было бы здорово с возможностью фильтрации по размеру.
3. Как удалить конкретный файл или директорию с файлами полностью из коммита и истории git?
Буду благодарен за любую информацию.