git pull завершается неудачно с «Неотслеживаемым рабочим деревом файл« бла »будет перезаписан слиянием», но дерево чистое - PullRequest
32 голосов
/ 02 июля 2010

Я зарегистрировал некоторые изменения в моем локальном репозитории, которые я хочу отправить, но когда я выполняю git pull, я получаю:

paul$ git pull 

ошибка: неотслеживаемый файл рабочего дерева 'documents / Android / SwiftKey / buttons.xcf' будет перезаписан слиянием. Aborting

Мое рабочее дерево не содержит неотслеживаемых файлов:

paul$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 26 different commit(s) each, respectively.
#
nothing to commit (working directory clean)

Сделанные мной коммиты не затрагивают файл, на который они жалуются.

Я прочитал ответы, предлагающие сделать git reset HEAD --hard, но я не уверен, какое влияние это окажет на сделанные мной коммиты?

1 Ответ

26 голосов
/ 02 июля 2010

Это не коммиты, которые вы сделали, которые касаются файла, а коммиты, которые вы тянете.Осмотрите удаленную ветку, которую вы отслеживаете, чтобы увидеть, что произошло.Например, git log master..origin/master покажет все коммиты, которые произошли на origin / master с момента вашего последнего извлечения.Согласно вашему выводу выше, есть 26 из них.Использование опции --name-status покажет, какой коммит добавил файл.

Вам нужно будет переименовать поврежденный файл, выполнить извлечение, а затем переместить его обратно (перезаписав копию из репозитория).git diff <em>filename</em> расскажет вам, чем ваша копия отличается от той, которую кто-то другой поручил освоить.Затем вы можете зафиксировать различия или выбросить их с помощью git checkout <em>filename</em>.

. Вам нужно будет использовать git pull --rebase, чтобы перебазировать ваши последние коммиты поверх тех, которые были в origin.Как только git status говорит, что мастер впереди , а не отклонился от источника / мастера, вы можете нажать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...