Я случайно удалил все в удаленном репозитории и принудительно переписал историю - PullRequest
0 голосов
/ 03 июля 2019

Я поместил коммит в удаленный репозиторий, в котором я изменил один файл, но весь каталог файла был отслежен в этом коммите, поэтому он выглядел так, как будто я изменил каждый файл в этом каталоге.

Итак, я хотел стереть этот коммит из истории удаленного репо с помощью команды git push origin + f2d3f909138e785b63415808c487abc070c4a12b ^: master, f2d3f909138e785b63415808c487abc070c4a12b, чтобы избавиться от фиксации IOB5 * 100 *.

Что произошло, так это то, что все остальные коммиты в истории удаленного репо были удалены.

Я просто хотел бы вернуться к тому, что было до этой последней команды, фиксация теперь не такая уж большая проблема. В худшем случае у меня есть локальная копия файлов, но в истории все еще хранится много важной информации.

1 Ответ

0 голосов
/ 03 июля 2019

В вашей команде должен быть кто-то, кто давил последним, прежде чем вы заставили свою силу.Этот человек имеет все коммиты в своем локальном репо.Поэтому просто попросите этого человека вставить последний коммит в origin / master:

git push -f origin [commit hash]:refs/heads/master

Если коммит неизвестен, потому что этот человек выбрал последние изменения и переписал свою локальную ветку, тогда он может использовать git reflog длянайти ранее проверенные коммиты.

Или, если у вас есть сервер сборки (я надеюсь, что у вас есть), который был запущен нажатием, вы можете найти последний хеш коммита в журналах сборки.Более того - этот коммит, вероятно, все еще находится в рабочем каталоге задания CI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...