Подтвердить что ты не робот

Git pull fail with "Неисправленный рабочий файл дерева" blah "будет перезаписан слиянием", но дерево чистое

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

paul$ git pull 

Ошибка: документация без обработанного дерева файлов /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, но я не уверен, какой эффект будет иметь на сделанные мной коммиты?

4b9b3361

Ответ 1

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

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

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