Следующие файлы, не обработанные обработкой дерева, будут перезаписаны слиянием, но мне все равно
В моей ветке у меня были файлы в .gitignore
В другой ветке эти файлы не являются.
Я хочу объединить другую ветку в мою, и мне все равно, если эти файлы больше не игнорируются или нет.
К сожалению, я получаю следующее:
Следующие неиспользуемые рабочие файлы дерева будут перезаписаны с помощью merge
Как мне изменить мою команду pull, чтобы перезаписать эти файлы, без необходимости самостоятельно находить, перемещать или удалять эти файлы?
Проблема заключается в том, что вы не отслеживаете файлы локально, но идентичные файлы отслеживаются удаленно, поэтому для "вытягивания" ваша система будет вынуждена перезаписывать локальные файлы, которые не контролируются версией.
Попробуйте запустить
git add *
git stash
git pull
Это будет отслеживать все файлы, удалять все локальные изменения этих файлов, а затем получать файлы с сервера.
Вы можете попробовать выполнить команду очистить неиспользуемые файлы из локального
git clean -d -fx ""
где -d можно заменить следующим:
-
-x также игнорируются игнорируемые файлы, а также файлы, неизвестные git.
-
-d означает удаление необработанных каталогов в дополнение к файлам без следа.
-
-f требуется заставить его работать.
вот ссылка , которая также может быть полезной.
Единственными командами, которые работали для меня, были:
git fetch --all
git reset --hard origin/{{your branch name}}
Если это одноразовая операция, вы можете просто удалить все необработанные файлы из рабочего каталога, прежде чем делать pull. Прочитайте Как удалить локальные (не проверенные) файлы из текущего рабочего дерева Git? для получения информации о том, как удалить все невоспроизводимые файлы.
Не забудьте случайно удалить необработанный файл, который вам по-прежнему нужен;)
Если вы считаете, что используете флаг -f
, вы можете сначала запустить его как сухой. Просто, что вы заранее знаете, какую интересную ситуацию вы закончите следующим: -P
-n
--dry-run
Don’t actually remove anything, just show what would be done.
В дополнение к принятому ответу вы можете, конечно, удалить файлы, если они больше не нужны, указав файл:
git clean -f '/path/to/file/'
Не забудьте сначала запустить его с флагом -n, если вы хотите увидеть, какие файлы git clean будут удалены. Обратите внимание, что эти файлы будут удалены. В моем случае я все равно не заботился о них, так что это было лучшим решением для меня.
Примечание. Если вы получите эту ошибку в Xcode, возможно, вы просто забыли зафиксировать некоторые файлы.
Другие вопросы по меткам git git-fetch merge git-merge или Задайте вопрос