Есть ли способ отменить или отменить git pull, чтобы мои исходные / репозитории пришли в старое состояние, которое было до выполнения git pull? Я хочу сделать это, потому что он объединяет некоторые файлы, которые я не хотел делать, а объединяет только остальные файлы. Итак, я хочу вернуть эти файлы, это возможно?
РЕДАКТИРОВАТЬ: Я хочу отменить мерзавец слияния для уточнения. Увидев некоторые ответы, я сделал это
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Что мне теперь делать? Делать git reset --hard
нормально? Я не хочу ввернуть это снова, поэтому просите подробные шаги?
git reflog
покажет все, что было сделано с git. Существует проблема, git reset --hard [sha1 of something from reflog]
которая вернет все, что показано reflog
, что иногда не является целью, например. Вы хотите отменить слияние в основной ветке, извлеченной из источника с неверными данными (происходит), и после этого слияния вы работали с другими ветвями. reflog
покажет каждую шейгу на других ветках. Но git checkout master
и git reset --hard [SH1 of commit on master branch just before merge]
сбросит только текущую главную ветку, удалив вытащенное слияние из источника.
git reset --hard 01b34fa
в этом случае вы могли бы выполнитьgit reset --hard HEAD^
сброс до одного коммита до HEAD.