Вы должны различать историю коммитов Git и изменения в вашем локальном рабочем каталоге. Оба могут сосуществовать в одном и том же хранилище и не обязательно должны оказывать влияние на другое.
Что вы сделали, так это удалили файл, не сообщая об этом Git. Если вы сделаете git status
, он покажет вам:
changes not staged for commit:
deleted: path/to/your/deleted/file
Когда вы делаете git pull
, Git сначала извлекает все удаленные коммиты, а затем пытается объединить их с вашей локальной веткой (либо с помощью реального коммита слияния, либо с помощью ускоренной перемотки вперед). Из вывода, который вы опубликовали, нет новых коммитов на пульте, поэтому ничего не произойдет (ваш файл все еще удален, но вы не сказали Git об этом).
Поскольку суть вашего вопроса заключается в том, как вернуть файл в ваш рабочий каталог, есть два варианта:
Использование git checkout -- path/to/your/deleted/file
git checkout
можно использовать для перемещения в разные ветви, но также можно использовать для проверки конкретной версии файла. В вашем случае, версия на HEAD
(текущий извлеченный коммит).
Используйте git reset --hard HEAD
, чтобы уничтожить все локальные изменения. Осторожно, для этой операции нет отменить .