Git pull error: ваши локальные изменения в следующих файлах будут перезаписаны слиянием:
Я пытаюсь извлечь изменения из удаленной ветки, но получаю ошибку, которая не имеет смысла
когда я делаю
git pull
Я возвращаюсь
error: Your local changes to the following files would be overwritten by merge:
file/name/path
some/more/filenamepath
Please, commit your changes or stash them before you can merge.
Aborting
Проблема заключается в том, что у меня нет изменений, которые необходимо совершить
Когда я делаю
git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 7 different commits each, respectively.
#
nothing to commit (working directory clean)
there are no working changes
Я пробовал git reset --hard HEAD
, но это не помогло
любые идеи?
Файлы находятся в файловой системе NFS, возможно, это имеет какое-то отношение.
Это на OSX
Спасибо
UPDATE:
Эта проблема должна что-то сделать с NFS, потому что, когда я перешел к исходному источнику и сделал git, оттуда оттуда все отлично работало, что исправляло его для этого экземпляра, но все же не совсем точно, почему это вызывает проблемы с NFS.
Ответы
Ответ 1
У меня была эта же проблема, и ответ fetch/rebase не работал у меня. Вот как я это решил:
Я удалил файл, который вызывал проблему, проверил ее, а затем потянул успешно.
- rm file/name/path/some/more/filenamepath
- git checkout file/name/path/some/more/filenamepath
- git pull
Ответ 2
- Удалить проблемные файлы.
- Запустите
git reset --hard
.
Это должно исправить это.
Ответ 3
Вы должны:
- fetch (обновление всех ветвей удаленного отслеживания, таких как origin/master)
- переустановите свою текущую ветку поверх оригинала/мастера, чтобы воспроизвести ваши 2 фиксации поверх 7 обновленных коммитов, которые вы только что выбрали.
Это будет:
git checkout master
git fetch
git rebase origin/master
Более короткая версия вышеуказанного набора команд будет следующей единственной командой:
git pull --rebase
Ответ 4
Была та же проблема. Решил его, повторно клонируя репо. Но теперь я думаю, что причиной были окончания строк в этих файлах. Я играл с ними раньше.
Я полагаю, что разница в кончиках строк не помещает файлы как измененные, но может привести к этому сообщению. Когда вы rm
файлы и re checkout
их, окончание строк должно быть установлено в "хорошее состояние", а pull будет прекрасным.