Если на сервере , на который вы отправили , не включены повторные журналы (а это обычное значение по умолчанию для большинства серверов), то эти коммиты удаляются с сервера , по крайней мере, какнасколько это касается самого Git.(Сервер может иметь резервные копии, и эти резервные копии могут иметь коммиты в той или иной форме, но то ли это так, и как их восстановить, выходит за рамки этого сообщества :-) - вам бы хотелось serverfault.com .)
Обратите внимание, что если вы можете войти на сервер, вы можете проверить, не повезло ли на сервере повторных флагов, или же git gc
на самом деле еще не удалил коммиты.И то, и другое несколько маловероятно, но не невозможно (особенно в более новых версиях Git, которые используют «область карантина» для входящих коммитов, что было сделано частично, чтобы избежать необходимости немедленно запускать git gc
после каждой полученной загрузки).
Если вы не git fetch
отредактировали эти коммиты в своем собственном репозитории, так что они никогда не существовали в вашем собственном репозитории, то эти коммиты по-прежнему не существуют в вашем собственном репозитории.Их нельзя восстановить из места, в котором они никогда не существовали.
Это оставляет только еще одно место для поиска, хотя это большое место: любой другой компьютер, который когда-либо делал git fetch
изсервер. Вам может повезти и вы обнаружите, что один из этих компьютеров имеет коммиты.Если это так, вы можете получить коммиты с этого компьютера.
Если нет, коммиты ушли навсегда.