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