Следующие файлы, не обработанные обработкой дерева, будут перезаписаны слиянием, но мне все равно

В моей ветке у меня были файлы в .gitignore

В другой ветке эти файлы не являются.

Я хочу объединить другую ветку в мою, и мне все равно, если эти файлы больше не игнорируются или нет.

К сожалению, я получаю следующее:

Следующие неиспользуемые рабочие файлы дерева будут перезаписаны с помощью merge

Как мне изменить мою команду pull, чтобы перезаписать эти файлы, без необходимости самостоятельно находить, перемещать или удалять эти файлы?

108
задан 01 июля '13 в 15:16
источник поделиться
9 ответов

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

Попробуйте запустить

git add * 
git stash
git pull

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

203
ответ дан 29 окт. '14 в 22:44
источник

Вы можете попробовать выполнить команду очистить неиспользуемые файлы из локального

git clean  -d  -fx ""

где -d можно заменить следующим:

  • -x также игнорируются игнорируемые файлы, а также файлы, неизвестные git.

  • -d означает удаление необработанных каталогов в дополнение к файлам без следа.

  • -f требуется заставить его работать.

вот ссылка , которая также может быть полезной.

26
ответ дан 19 нояб. '15 в 15:29
источник

Единственными командами, которые работали для меня, были:

git fetch --all
git reset --hard origin/{{your branch name}}
18
ответ дан 24 апр. '16 в 17:36
источник

Если это одноразовая операция, вы можете просто удалить все необработанные файлы из рабочего каталога, прежде чем делать pull. Прочитайте Как удалить локальные (не проверенные) файлы из текущего рабочего дерева Git? для получения информации о том, как удалить все невоспроизводимые файлы.

Не забудьте случайно удалить необработанный файл, который вам по-прежнему нужен;)

17
ответ дан 01 июля '13 в 15:26
источник

Вы можете попробовать эту команду

git clean -df
10
ответ дан 28 янв. '16 в 19:49
источник

Удалите все неиспользуемые файлы:

git clean  -d  -fx ""
6
ответ дан 29 сент. '16 в 11:36
источник

Если вы считаете, что используете флаг -f, вы можете сначала запустить его как сухой. Просто, что вы заранее знаете, какую интересную ситуацию вы закончите следующим: -P

-n 
--dry-run 
    Don’t actually remove anything, just show what would be done.
4
ответ дан 09 авг. '16 в 16:31
источник

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

git clean -f '/path/to/file/'

Не забудьте сначала запустить его с флагом -n, если вы хотите увидеть, какие файлы git clean будут удалены. Обратите внимание, что эти файлы будут удалены. В моем случае я все равно не заботился о них, так что это было лучшим решением для меня.

3
ответ дан 29 марта '17 в 5:01
источник

Примечание. Если вы получите эту ошибку в Xcode, возможно, вы просто забыли зафиксировать некоторые файлы.

-4
ответ дан 10 янв. '14 в 22:08
источник

Другие вопросы по меткам или Задайте вопрос