Я очищал некоторые проблемы с отслеживанием и хотел удалить некоторые файлы из отслеживания. Я испортил и удалил кучу файлов, которые я хочу восстановить. Неосознанно, я нажал на свой пульт в этом состоянии.Не удается вернуть удаленную ветку git до более раннего фиксации
Ну, время, чтобы вернуться и исправить ситуацию. К счастью, фиксация, которая мне нужна, находится в истории:
black-rainbows: scottnla$ git log -2
commit 76fa0b491c2424d93b16c1fe002401eaa17d481e
Author: scottnla
Date: Thu Oct 16 21:57:57 2014 -0400
Fixed tracking issue
commit 078cf16ee1bebfe7130b79d5958ecb0baf855002
Author: scottnla
Date: Thu Oct 16 21:55:50 2014 -0400
Finished preliminary analysis script
Хорошо, все не потеряно. Поэтому я могу просто использовать git reset --hard
, чтобы получить то, что хочу, не так ли?
black-rainbows: scottnla$ git reset --hard
078cf16ee1bebfe7130b79d5958ecb0baf855002
HEAD is now at 078cf16 Finished preliminary analysis script
Фуэ. Я проверяю файлы, и это точно, где я хочу, чтобы все было.
Поэтому я стараюсь добиваться этого совершить обратно на удаленный ...
black-rainbows:scottnla$ git push origin master
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to <git>
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
И теперь это только что получил очень грязно. Я пробовал разные способы потянуть и слить пульт с моей текущей ветвью, но он всегда удаляет файлы (как это имеет смысл, так как я только что вернул историю и продолжаю переписывать коммиты).
Теперь, когда моя локальная версия репо - это именно то, что я хочу, как я могу нажать это на пульт?