Цей сценарій з'являється, коли ви - або сили, що перевищують вас, - керували файлом у вашому місцевому репо, і ви просто хочете відновити свіжу копію останньої його версії з репо. Просто видаліть файл / bin / ет (НЕ мерзотник ет) або перейменування / приховування, а потім видачі git pull
не працюватиме: мерзотник зауважує відсутність файлу і передбачає , що ви , ймовірно , хочете, пішли з репо ( git diff
покажуть всі рядки видаляються з файл відсутній).
git pull
не відновлення локально відсутніх файлів мене завжди засмучувало щодо git, можливо, оскільки на мене вплинули інші системи контролю версій (наприклад, оновлення svn, яке, я вважаю , відновить файли, які були локально приховані).
git reset --hard HEAD
- це альтернативний спосіб відновити файл, що цікавить, оскільки він викидає будь-які незавершені вами зміни. Однак, як зазначалося тут , скидання git - це потенційно небезпечна команда, якщо у вас є будь-які інші незапущені зміни, які вас цікавлять.
git fetch ... git checkout
Стратегія вже зазначалося вище по @chrismillah хороший хірургічний спосіб відновити файл в питанні.