Я использовал Git версии 2.2.0 с игровым движком Unity на OS X и хотел зафиксировать мой код. Я добавил все и не получил сообщение об ошибке. затем подтвердите -m и получите это сообщение об ошибке:
fatal: multiple stage entries for merged file 'Assets/Prefabs/Resources'
Не заметив этого, я нажал, что это не Everything up-to-date
выдает сообщение об ошибке, фактически сказал, поэтому я проверил битбакет (где находится репо), и он не показал мой коммит. поэтому я проверил свой локальный журнал, и это также не показывает мой коммит.
Я посмотрел в Google для ответа ... и ничего. что это за ошибка? и как я могу это исправить?
Ответы:
Первый обходной путь, который , кажется, работает с последними версиями Git (2.3+, Q2 + 2015) упоминается в гранту «s более уточненный ответ :
Удалить индекс
Добавить все
совершить
Оригинальный ответ (конец 2014 г.)
Обычный обходной путь:
добавьте изменения из первого репо во второй:
Вы можете увидеть это сообщение об ошибке
read-cache.c
, которое обсуждается в этом патче («read-cache.c
: убедитесь, что неотправленные записи удалены ») и введено в коммит Git 2.2 .Поскольку это так недавно, вполне возможно, что понижения Git до 2.1 будет достаточно, чтобы не повредить этот патч.
OP Daniel Toebe добавляет в комментариях :
источник
git commit -c sha
Я считаю, что столкнулся с этой проблемой, потому что я добавил и зафиксировал изменения, а затем удалил файл, который я только что зафиксировал. Если это похоже на ваш случай, я рекомендую следовать приведенным ниже инструкциям, чтобы сохранить повторное клонирование и ручное добавление изменений.
Я смог решить эту проблему, удалив файл .git / index в моем хранилище, аналогично тому, что предлагал @slider (я думаю, он неправильно набрал путь).
Затем я должен был добавить и зафиксировать свои локальные изменения снова
Я тогда смог толкнуть дистанционно.
Что такое индекс git и насколько он актуален?
Что за дело с Git Index?
Я считаю, что, удалив этот файл, git переиндексирует репо, создаст новый, и все готово. Это решает эту проблему, потому что локальный репозиторий переиндексируется без файла, который я удалил, что вызвало всю суету.
Изменить: Кажется, что это связано с Mac (на основе комментариев), поэтому, если это поможет, я на OSX 10.10 и git версии 2.3.4, установленной через brew.
источник
git add -A
git
. (На самом деле, я думаю, что их много.) Закрытие IntelliJ, удаление индекса и повторная фиксация моей работы работали просто отлично.Для проекта
после удаления индекса вам нужно восстановить его с помощью git reset
Для подмодуля:
Перейти в основную папку проекта
источник
Вы можете удалить индексный файл Git из вашего проекта. В корне вашего проекта выполните следующую команду:
После этого мерзавец работает.
источник
rm: /.git/index: No such file or directory
Mac OSX Yosemite; git 2.3.4 установлен через homebrewrm .git/index
в вашем каталоге git).Я пробую другое решение, и оно работает для меня. Ниже мои варианты
источник
git reset
его, иначе он даст вамfatal: Could not reset index file to revision 'HEAD'
.Если это происходит в подмодуле
Индексный файл находится внутри родительского
.git
каталога:В подмодуле нет названных каталогов
.git
(по крайней мере, в проекте, над которым я работаю), есть только.git
файл, который говорит вам (и git), где искать каталог git этого проекта.Состояние Git показывает изменения, которые я не сделал
После удаления файлов индекса и выполнения операции
git reset
я обнаружил, что столкнулся с множеством необъяснимых изменений, и полный сброс не помог.Предупреждение, что вы потеряете все свои изменения, поэтому передайте их и нажмите, прежде чем продолжить.
Индекс казался поврежденным, поэтому я удалил его с помощью следующих команд.
источник
Я только что получил эту ошибку с Github Desktop Client (OSX). Все, что я сделал, это вышел из приложения и снова открыл, а затем он начал работать.
источник