Как мне уменьшить размер раздутого репозитория Git, не интерактивно подавляя все коммиты, кроме самых последних?

В моем репозитории Git хранятся сотни гигабайт данных, например, резервные копии SQL, поэтому я пытаюсь удалить старые, устаревшие коммиты, потому что они делают все больше и медленнее. Мне нужно быстрое решение; чем быстрее тем лучше.

Как мне раздавить все коммиты, кроме самых последних, и сделать такбез необходимости вручную раздавливать каждый один винтерактивная перебазировка? В частности, я не хочу использовать

git rebase -i --root
Мой репо

У меня есть эти коммиты:

A .. B .. C ... ... H .. I .. J .. K .. L

Что я хочу, так это (раздавить все междуA а такжеH вA):

A .. H .. I .. J .. K .. L

Есть ответ о том, какраздавить все коммиты, но я хочу сохранить некоторые из последних коммитов. Я не хочусквош самых последних коммитов или. (Особенно мне нужно вести подсчет первых двух коммитов сверху.)