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
Если вы получаете ошибки типа
- мастер ветвей - > FETCH_HEAD ошибка: следующие неотслеженные рабочие файлы дерева будут перезаписаны слиянием: src / dj / abc.формат html Пожалуйста, переместите или удалите их перед слиянием. Аборт
Попробуйте удалить файл вручную(осторожно). Git объединит этот файл из главной ветви.
добавьте файл в систему управления версиями, если это необходимо, затем объедините разработку. работает:)