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

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

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

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

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

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

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

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

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

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

git add * 
git stash
git pull

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

203
ответ дан userFog 29 окт. '14 в 22:44
источник поделиться

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

git clean  -d  -fx ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по меткам