Почему я иногда вижу, что «имя файла» не обновлено. Не удается объединить ». после «git reset --hard» и «git pull»? - PullRequest
15 голосов
/ 18 мая 2009

Иногда, когда я делаю следующее ...

git reset --hard
HEAD is now at 0123abde comment is here
git pull
Updating 0123abde..456789fa

Я получаю ошибку ...

error: Entry 'filename' not uptodate. Cannot merge.

Единственный обходной путь, который я нашел, - это «git reset --hard», удалить файлы, которые нарушали работу, затем выполнить «git pull». Это не кажется мне правильным. Не следует ли с помощью аппаратного сброса удалить все локальные изменения, чтобы я мог получать последние версии без проблем слияния? Я использую Git неправильно? :)

Это на машине CI, поэтому любые изменения здесь нежелательны. Я использую git версии 1.6.1.9.g97c34 в Windows Vista.

Ответы [ 4 ]

13 голосов
/ 26 октября 2016

У меня была та же проблема, и я переименовал файл, который вызывал это, и сделал git pull. Он вытащил этот отсутствующий файл и исправил проблему.

11 голосов
/ 18 мая 2009

Общая идея "Entry 'filename' not uptodate. Cannot merge.":

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

было сообщено , что это сообщение могло быть "ложным" в то время (потенциально потому, что "git pull" не обновляло индекс перед попыткой объединения), но исправление было в Git1.6.1.
Тем не менее, он все еще может быть в mSysGit 1.6.1, поэтому вы видите ту же ошибку с более поздней версией mSysGit? (как 1.6.3)

4 голосов
/ 20 декабря 2018

Самое простое решение, которое я нашел для этой проблемы:

git add .
git merge --abort
0 голосов
/ 30 ноября 2018

У меня была такая же проблема, когда я пытался запустить

git merge --abort

Чтобы заставить его работать, я поставил изменения, которые мне не нужны. Как только я это сделал, git смог успешно их отменить.

...