Vielleicht ist es eine angemessenere Methode als ein einfacher Hard-Reset auf den ursprünglichen Master, alle von git filter-branch
umgeschriebenen Verweise wiederherzustellen und möglicherweise sogar Backup-Verweise danach zu löschen, um git filter-branch
erneut ohne --force
aufrufen zu können:
for orig_ref in $(git for-each-ref --format="%(refname)" refs/original/); do
git update-ref "${orig_ref#refs/original/}" $orig_ref
git update-ref -d $orig_ref # um auch Backup-Verweise zu entfernen
done
Und danach:
git reset --hard master
UPDATE.
Hier ist eine möglicherweise etwas "git"-artigere Methode, um dasselbe ohne eine Shell-Schleife durchzuführen:
git for-each-ref --format="update %(refname:lstrip=2) %(objectname)" refs/original/ | git update-ref --stdin
git for-each-ref --format="delete %(refname) %(objectname)" refs/original/ | git update-ref --stdin