Я просто побежал git push -fпо ошибке, переписав тем самым удаленную ветку.
Оригинал:
(remote origin:)
branch master -> commit aaaaaaa
branch foo -> commit bbbbbbb
(local)
branch master -> commit ccccccc
branch foo -> commit ddddddd
После git push -f:
(remote origin:)
branch master -> commit ccccccc
branch foo -> commit ddddddd
В моем локальном хранилище, я работаю на masterветви, так что я могу восстановить ветвь masterсовершить aaaaaaa, потому что я могу получить совершить aaaaaaaс git reflog. Тем не менее, я не мог получить коммит, bbbbbbbпотому что я не тянул раньше git push -f.
Я пробовал git reflogв удаленном хранилище, но нет ничего полезного в reflog в пустом хранилище.
Как я могу восстановить ветку fooобратно для фиксации bbbbbbbв удаленном хранилище?
(PS Я не знаю фактическую стоимость bbbbbbb.)