2012-03-16 13 views
65

No puedo abrir mi escondite porque fusioné una rama que aparentemente entra en conflicto con mi escondite y ahora parece que mi escondite no se puede abrir.Git stash pop- necesita fusionar, no se puede actualizar el índice

app.coffee: needs merge 
unable to refresh index 

¿Alguien sabe cómo resolver esto?

¡CORREGIDO!

Resulta que el problema real era un conflicto no resuelto de combinación de la fusión, NO que el alijo podría causar un conflicto de combinación.

Resolución: Confirme el archivo en conflicto.

+3

Es interesante que la respuesta aceptada es _complex_ mientras que la solución real es bastante fácil: ni siquiera tiene que enviar el archivo conflictivo, sino agregarlo. –

Respuesta

40

Primero, marque git status.
Como se menciona el PO,

El problema real fue un conflicto de combinación no resuelta de la fusión, no es que el alijo podría causar un conflicto de combinación.

Eso es donde git status mencionarían ese archivo como "both modified"

Resolución: Commit el fichero en conflicto.


puede encontrar una situación similar hace 4 días (13 ° de marzo de de 2012) con este post "‘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 

Lo que has hecho para solucionar el conflicto de combinación (edición de la derecha archivo, y se comprometía):
Ver "How do I fix merge conflicts in Git?"

lo que hizo el autor de la entrada del blog fue:

[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. 

es decir abortar la fusión de corriente por completo, permitiendo que el git stash pop a aplicar.
Ver "Aborting a merge in Git".

Esas son sus dos opciones.

+1

A veces también sucede que estamos en otra rama. Por ejemplo, tengo la rama A e hice algunos cambios y cambié a la rama B e hice cambios y los comprometí. Ahora quiero ir a la rama A, pero me olvidé de pagar en A y tratar de aplicar el alijo. En este caso, también da el mismo problema. Enfrenté este problema en el caso anterior. –

2

Si alguien tiene este problema fuera de una fusión/conflicto/acción, entonces podría ser el archivo de bloqueo de git para su proyecto el que causa el problema.

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

Teme un poco el comando 'reset'. ¿Podría explicar por qué esto funcionará? –

8

que estaba teniendo este problema, entonces la resolución del conflicto y cometer, y haciendo de nuevo git stash pop fue la restauración de la misma alijo de nuevo (haciendo que el mismo conflicto :-().

Lo que tenía que hacer es git stash drop para deshacerse de él.

0

Es mucho más simple que la respuesta aceptada.Es necesario:

  1. Comprobar git status y caminos sin combinar debajo de ella. Arregla los conflictos Puede omitir este paso si prefiere hacerlo más tarde.

  2. Agregue todos estos archivos en rutas no fusionadas para indexar usando git add <filename>.

  3. Ahora haz git stash pop. Si tiene algún conflicto, estos deberán ser resueltos nuevamente.

Cuestiones relacionadas