Я не могу найти приличного объяснения сообщения «[file]: needs update», которое время от времени выплевывает git. Даже официальный Git FAQ объясняет это как TODO. Если бы кто-то мог объяснить А) что это значит; и б) как это исправить, буду крайне признателен.
156
Ответы:
Это означает, что вы пытаетесь объединить изменения откуда-то, но изменения включают в себя изменения в файле, который является грязным (в настоящее время изменен в вашем рабочем дереве). Вам нужно зафиксировать свои ожидающие изменения или спрятать их, вытащить / перебазировать / объединить / все, что вы делаете, чтобы обновить, и удалить
источник
git svn rebase
с грязной рабочей копией. Копить, сохранять, перебазировать, копить поп, и все было правильно с миром.Как отмечали другие, сообщение о необходимости обновления означает, что файл загрязнен или, другими словами, устарел. Но вместо того, чтобы делать сброс и начинать все сначала, то можно просто сделать это,
git status
а затем,git add <file>
если он находится в измененном списке. Потому что вы уже могли добавить файл раньше, но затем изменили его. Это случилось со мной, и с этим простымadd
я решил проблему.источник
Войдите на свой производственный / целевой сервер,
cd
в каталог, содержащий ваше приложение, и выполните эти две команды.1. Сбросить до последней версии
2. Потяните изменения
источник
Как говорится в ответе на другой связанный вопрос, сообщение просто означает, что у вас есть ожидающие изменения. Вы также получаете это, например, если вы вносите некоторые изменения
git add
, затем передумаете и сделаете этоgit reset HEAD file
с намерением начать все сначала.источник
git reset HEAD file
вызывает появление того же сообщенияЭта ошибка может возникать, когда процесс перебазирования вносит дополнительные изменения в файлы, которые не находятся в целевой ветви.
Для меня самая сложная часть была с
.gitattributes
файлом в моем репо. Новый бинарный тип файла был добавлен в другую ветку, но его обработка была принудительной как текстовый файл. Когда файл был загружен из репозитория git, EOL (на самом деле это байты двоичных значений) были заменены, что привело к двоичной разнице.Добавление новой записи для обработки нового типа файла как двоичного файла и повторная попытка всего процесса решили проблему для меня.
источник
В моем случае я продолжал получать
У меня были эти файлы в моем каталоге, но они были переименованы в моей текущей ветке. Чтобы исправить, я побежал
и это позволило мне продолжить
источник