Entfernen Sie ein nicht referenziertes Commit aus dem Git-Repository

Ich habe eine Git-Commit-Geschichte wie diese:

          U
         / 
A---B---C---D---E master

Nichts deutet auf das Commit hinU, aber ich kenne den Hash. Wie kann ich dieses Commit vollständig aus meinem Repository entfernen, als ob es nie existiert hätte? Ich bin die einzige Person, die dieses Repo benutzt.

Ich habe versucht mitgit rebaseDies kann entweder Teile eines Zweigs löschen oder Commits verschieben, scheint jedoch nicht in der Lage zu sein, ein einzelnes Commit zu löschen.

Wenn ich machegit checkout <hash> und danngit reset --hard HEAD~1 Das Commit sehe ich nicht mehr. Ist es tatsächlich komplett verschwunden oder ist es noch im Repo versteckt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage