Ответ 1
Спасибо, Дон, я видел это, но почему-то не понял, что он исправил мою проблему, потому что у меня только одна ветка.
Я сделал:
git push -f origin 5910117a8fc2c71334251465b54d6d9daeb28d1c:master
И все вернулось к тому, как это было.
Один из членов команды случайно ударил половину концерта нежелательных молний в отдаленный репо прошлой ночью, когда они были в спешке. Да... oops.
Никто не потянул или совершил с тех пор.
В идеале я хочу просто "отменить" то, что произошло.
Я посмотрел на фильтр-ветку и думал о том, чтобы попробовать что-то вроде
git filter-branch --tree-filter 'rm -f *.zip' HEAD
но это будет локально, и я не могу понять, как это сделать прямо на удаленном репо.
Есть ли более простой способ отменить то, что произошло? Если она изменяет свое последнее совершение и снова нажала, это отменит нажатие - т.е. фактически удалите эти файлы из истории?
Очевидно, если она удалит их, она снова и снова перетаскивает, а затем оставляет содержимое в репо, что не хорошо.
Спасибо, Дон, я видел это, но почему-то не понял, что он исправил мою проблему, потому что у меня только одна ветка.
Я сделал:
git push -f origin 5910117a8fc2c71334251465b54d6d9daeb28d1c:master
И все вернулось к тому, как это было.
Я думаю,
git reset --hard HEAD^
git push -f
должен выполнить трюк: он сбрасывает ваш локальный чек на предыдущую фиксацию (при условии, что последний из них - тот, который вы хотите удалить) и принудительно перенаправляет его в удаленный репозиторий.