Git stash pop-требуется слияние, невозможно обновить индекс


Я не могу вытащить свой тайник, потому что я объединил ветку, которая, по-видимому, конфликтует с моим тайником, и теперь мой тайник, похоже, не может быть выскочил.

app.coffee: needs merge
unable to refresh index

кто-нибудь знает как решить это?

исправлено!

оказывается, фактическая проблема была неразрешенным конфликтом слияния из слияния,не что тайник вызовет конфликт слияния.

разрешение: зафиксируйте конфликтующий файл.

5 77

5 ответов:

во-первых, проверить git status.
Как упоминает ОП,

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

вот здесь git status упомянул бы этот файл как"both modified"

разрешение: зафиксируйте конфликтный файл.


вы можете найти аналогичную ситуацию 4 дня назад на момент написания этого ответ (13 марта 2012) с этой должности: " ' вытянуть невозможно, потому что у вас есть несвязанные файлы’":

julita@yulys:~/GNOME/baobab/help/C$ git stash pop
help/C/scan-remote.page: needs merge
unable to refresh index

то, что вы сделали, это исправить конфликт слияния (редактирование правильного файла и его фиксация):
Смотрите "как исправить конфликты слияния в Git?"

то, что сделал автор сообщения в блоге, было:

julita@yulys:~/GNOME/baobab/help/C$ git reset --hard origin/mallard-documentation
HEAD is now at ff2e1e2 Add more steps for optional information for scanning.

т. е. прерывание текущего слияния полностью, что позволяет git stash pop для применения.
Видеть "прерывание слияния в Git".

это ваши два варианта.

у меня была эта проблема, затем разрешение конфликта и фиксация, и выполнение git stash pop снова восстанавливал тот же тайник снова (вызывая тот же конфликт :-( ).

что я должен был сделать это git stash drop чтобы избавиться от него.

его гораздо проще, чем принято отвечать. Вам нужно:

  1. Регистрация git status и несвязанные пути под ним. Исправьте конфликты. Вы можете пропустить этот шаг, если вы хотите сделать это позже.

  2. добавьте все эти файлы в несвязанные пути для индексирования с помощью git add <filename>.

  3. Теперь git stash pop. Если вы получаете какие-либо конфликты, они снова должны быть решены.

Если у кого-то есть эта проблема за пределами слияния/конфликта/действия, то это может быть файл блокировки git для вашего проекта, вызывающий проблему.

git reset
     fatal: Unable to create '/PATH_TO_PROJECT/.git/index.lock': File exists.
rm -f /PATH_TO_PROJECT/.git/index.lock
git reset
git stash pop

Я обнаружил, что лучшим решением является ответвление от вашего тайника и последующее разрешение.

git stash branch <branch-name>

Если вы капля очистить ваш тайник, вы можете потерять ваши изменения, и вам придется повторять в reflog.