Даже если вы нажали с силой, удаленный репозиторий работает так же, как ваш локальный, и получил те же объекты, которые сохраняются в течение некоторого времени.
Что я хотел бы сделать, это выполнить
git reflog <branch>
… на ветку, с которой вы выполнили push --force
, и попытайтесь получить хэш-сумму последнего коммита в дате, прежде чем вы это сделаете.Если вы не можете найти его отсюда (поскольку ваша ветвь, вероятно, отклонилась бы от долгого времени, прежде чем вы его нажали), вы можете попытаться получить удаленный рефлог через API событий Github:
https://api.github.com/repos/<your account>/<your repository>/events
Как только вы получите эту сумму, создайте тег, указывающий на хеш-сумму коммита
git tag <tagname> <hash>
Затем перенесите линию на сервер
git push origin <tagname>
Поскольку все еще должно быть на сервере (толькобез ссылки), это должно быть немедленно.После этого вы сможете просматривать старую историю, не изменяя текущего состояния ваших производственных веток.
Документы об API Github: