Wie kann ich die Größe eines aufgeblähten Git-Repos verringern, indem ich alle Commits außer den neuesten nicht interaktiv drücke?

Mein Git-Repo hat Hunderte von Gigabyte an Daten, zum Beispiel SQL-Backups. Deshalb versuche ich, alte, veraltete Commits zu entfernen, weil sie alles größer und langsamer machen. Ich brauche eine schnelle Lösung. je schneller desto besser.

Wie kann ich alle Commits mit Ausnahme der neuesten quetschen und dies tun?ohne jedes manuell quetschen zu müssen einer in eineminteraktive rebase? Insbesondere möchte ich nicht verwenden müssen

git rebase -i --root
Mein Repo

Ich habe diese Verpflichtungen:

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

Was ich will, ist das (alles dazwischen zerdrückenA undH inA):

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

Es gibt eine Antwort darauf, wie es gehtalle Commits quetschen, aber ich möchte einige der neueren Commits behalten. Ich will nichtSquash die neuesten Commits entweder. (Insbesondere muss ich die ersten beiden Commits von oben zählen lassen.)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage