Git pull - пожалуйста, переместите или удалите их, прежде чем вы сможете объединить

Я пытаюсь сделать git pull origin master с моего сервера, но продолжаю получать ошибки:

Please move or remove them before you can merge.

нет неотслеженных файлов, но кажется, что у него есть проблемы с игнорируемые файлы по какой-то причине.

Я попытался запустить git clean -nd чтобы увидеть, что будет удален и он перечисляет целую кучу файлов, которые игнорируются в .gitignore.

как я могу исправить это, чтобы я мог сделать тянуть?

6 ответов


по-видимому, файлы были добавлены в удаленный репозиторий, независимо от содержания .gitignore файл в источнике.

поскольку файлы существуют в удаленном репозитории, git должен также вытащить их в локальное дерево работы и поэтому жалуется, что файлы уже существуют.

.gitignore используется только для сканирования вновь добавленных файлов, это не имеет ничего общего с файлами, которые уже были добавлены.

таким образом, решение состоит в том, чтобы удалить файлы в дереве работы и вытащить последнюю версию. Или долгосрочным решением является удаление файлов из репозитория, если они были добавлены по ошибке.


Я просто столкнулся с той же проблемой и решил ее, используя следующее.Сначала очистите отслеживаемые файлы с помощью :

git clean -d -f

попробуйте git pull origin master

вы можете просмотреть другие параметры git clean, введя git clean -help


Если слишком много файлов для удаления, что на самом деле для меня. Вы также можете попробовать следующее решение:

1) fetch

2) слияние со стратегией. Например, это работает для меня:

git.exe merge --strategy=ours master

удалить и удалить все изменения git clean -d -f


Если вы получаете ошибки типа

  • мастер ветвей - > FETCH_HEAD ошибка: следующие неотслеженные рабочие файлы дерева будут перезаписаны слиянием: src / dj / abc.формат html Пожалуйста, переместите или удалите их перед слиянием. Аборт

Попробуйте удалить файл вручную(осторожно). Git объединит этот файл из главной ветви.


добавьте файл в систему управления версиями, если это необходимо, затем объедините разработку. работает:)