Я не могу на всю жизнь найти какое-нибудь достойное объяснение сообщения "[файл]: нуждается в обновлении", которое время от времени иногда выскакивает git. Даже официальный git FAQ объясняет это как TODO. Если кто-то может объяснить А) что это означает; и B), как это исправить, я был бы чрезвычайно благодарен.
Что означает, когда git говорит, что файл нуждается в обновлении?
Ответ 1
Это означает, что вы пытаетесь объединить изменения где-то, но изменения включают изменения в файл, который грязный (в настоящее время изменен в рабочем дереве). Вам необходимо зафиксировать свои выдающиеся изменения или зашить их, вытащить/переустановить/слить/все, что вы делаете, чтобы обновить, и нестать
Ответ 2
Как отмечали другие, сообщение требуется обновление означает, что файл грязный или, другими словами, устаревший. Но вместо того, чтобы делать reset и начинать все заново, что можно сделать, просто git status
, а затем git add <file>
, если он в списке изменений. Поскольку вы уже могли добавить файл раньше, но затем изменили его. Это случилось со мной, и с этим простым add
я решил проблему.
Ответ 3
Войдите в свой производственный/целевой сервер, cd
в каталог, содержащий ваше приложение, и выполните эти две команды.
1. Reset до последней версии
ПРЕДУПРЕЖДЕНИЕ, это приведет к удалению всех ваших изменений:
git reset --hard HEAD
2. Потяните изменения
git pull origin master
Ответ 4
Как и ответ на связанный другой вопрос, сообщение просто означает, что у вас есть выдающиеся изменения. Вы также получаете это, например. если вы выполните некоторые изменения с помощью git add
, измените свое мнение и сделайте git reset HEAD file
с намерением начать.
Ответ 5
Эта ошибка может возникнуть , когда процесс перезаписи вносит дополнительные изменения в файлы, которые не находятся в целевой ветке.
Для меня сложная часть была с файлом .gitattributes
в моем репо. Новый тип двоичного файла был добавлен в другую ветку, но обработка была принудительной в виде текстового файла. Когда файл был загружен из репо с помощью git, EOL (фактически это биты двоичного значения) было заменено - это привело к разнице в двоичном выражении.
Добавление новой записи для обработки нового типа файла в виде двоичного кода и повторной попытки решить всю проблему.
Ответ 6
В моем случае я продолжал получать
assets/ElipseThree.png: needs update
You must edit all merge conflicts and then
mark them as resolved using git add
У меня были эти файлы в моем каталоге, но они были переименованы в моей текущей ветке. Чтобы исправить, я побежал
$ git mv assets/ElipseThree.png assets/elipseThree.png
$ git add assets/elipseHalfFull.png
$ git rebase --continue
и это позволило мне продолжить