begehen habe ich ein git Geschichte wie diese begehen:entfernen ein unreferenced von Git Repository
U
/
A---B---C---D---E master
Nichts weist auf die U
begehen, aber ich kenne seine 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 nutzt.
Ich habe versucht mit git rebase
, aber das kann entweder Teile eines Zweigs oder verschieben commits löschen, scheint aber nicht in der Lage zu sein, ein einzelnes Commit zu löschen. Wenn ich git checkout <hash>
und dann git reset --hard HEAD~1
mache, sehe ich das Commit nicht mehr. Ist es tatsächlich komplett verschwunden oder ist es noch im Repo versteckt?
Was ist, wenn ich das ganze Repo geklont habe? Werden nicht referenzierte Müllobjekte auch geklont? – Jawap
@Jawap: Nein, sie werden nicht geklont – Chronial