Почему иногда я вижу, что имя файла "Entry" не утихает. Нельзя сливаться ". после 'git reset --hard' и 'git pull'?
Иногда, когда я делаю следующее...
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". Мне это не кажется правильным. Не следует ли жесткому reset удалять все локальные изменения, позволяя мне вытащить последние без проблем слияния? Я использую git неправильно?:)
Это на машине CI, поэтому любые изменения здесь нежелательны. Я использую git версию 1.6.1.9.g97c34 в Windows Vista.
Ответы
Ответ 1
Общая идея " Entry 'filename' not uptodate. Cannot merge.
":
У вас есть изменения в файлах в вашем рабочем каталоге, которые будут перезаписаны, удалены или иным образом потеряны, если проверка и переход к новой ветке продолжаются.
Сообщено , что это сообщение может быть "ложным" во времени (возможно, потому что" git pull
" не обновлял индекс перед попыткой слияния), но исправление было в Git1.6.1.
Однако он все еще может быть в mSysGit 1.6.1, так что вы видите ту же ошибку с более новой версией mSysGit? (например, 1.6.3)
Ответ 2
У меня была такая же проблема, и я переименовал файл, который вызывал это, и сделал git pull. Он вытащил этот недостающий файл и исправил проблему.
Ответ 3
У меня была такая же проблема, когда я пытался запустить
git merge --abort
Чтобы заставить его работать, я поставил те изменения, которые мне не нужны. Как только я это сделал, git смог успешно их отменить.
Ответ 4
Самое простое решение, которое я нашел для этой проблемы:
git add .
git merge --abort