2012-03-16 1 views
65

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

app.coffee: needs merge 
unable to refresh index 

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

FIXED!

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

Разрешение: Зафиксировать конфликтный файл.

+3

Интересно, что принятый ответ _complex_, в то время как фактическое решение довольно просто: вам не нужно даже фиксировать конфликтный файл, но добавьте его. –

ответ

40

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

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

Вот где git status бы отметить, что файл как «both modified»

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


Вы можете найти подобную ситуацию 4 дня назад (13 марта 2012) с этой должностью «‘Pull is not possible because you have unmerged files’»

[email protected]:~/GNOME/baobab/help/C$ git stash pop 
help/C/scan-remote.page: needs merge 
unable to refresh index 

То, что вы сделали, чтобы исправить слияния конфликта (редактирование права файл, и его совершении):
Смотрите «How do I fix merge conflicts in Git?»

Что автор блога Поста сделал:

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

I.e полностью отменяет текущее слияние, позволяя применять git stash pop.
См. "Aborting a merge in Git".

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

+1

Иногда также случается, что мы находимся в другой ветке. Например, у меня есть ветвь A, внесены некоторые изменения и переключены на ветвь B, сделаны изменения и зафиксированы. Теперь я хочу пойти в ветку A, но забыл проверить на A и попытаться применить кошелек. В этом случае он также дает такую ​​же проблему. В этом случае я столкнулся с этой проблемой. –

2

Если у кого-то есть эта проблема за пределами слияния/конфликта/действий, то это может быть файл блокировки 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 
+0

Вид боится команды 'reset'. Не могли бы вы объяснить, почему это сработает? –

8

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

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

0

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

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

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

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