Предупреждение: каждый шаг здесь разрушителен. Не поймите неправильно и возьмите копию своего репо перед началом.
git reset --hard $what
, где находится SHA или что вы хотите вернуться в этой ветке. (например: HEAD^
, если вы просто хотите отменить последний коммит.)
Как только вы это сделаете, git push --force ...
, чтобы получить это в удаленном хранилище.
Это решает все ... кроме удаления мертвого блоба и т. Д. Из удаленного хранилища. Если это важно для вас, жизнь сложнее. Нет никакого протокола, чтобы избавиться от него, поэтому вы либо удалите удаленное хранилище и создадите новую, чистую копию, либо сделаете что-то специфичное для back-end.