2009-05-18 12 views
10

De vez en cuando, cuando lo haga lo siguiente ...¿Por qué a veces veo un "Nombre de archivo de entrada" no actualizado. No se puede fusionar ". después de un 'git reset --hard' y un 'git pull'?

git reset --hard 
HEAD is now at 0123abde comment is here
git pull 
Updating 0123abde..456789fa

consigo el error ...

error: Entry 'filename' not uptodate. Cannot merge.

La única solución que he encontrado es a 'git reset --hard ', elimine el archivo ofensivo y luego' git pull '. Eso no me parece bien. ¿No debería un restablecimiento completo eliminar todos los cambios locales, lo que me permite extraer lo último sin problemas de fusión? ¿Estoy usando git mal? :)

Esto está en una máquina CI así que cualquier cambio aquí no es deseado. Estoy usando git versión 1.6.1.9.g97c34 en Windows Vista.

Respuesta

10

La idea general detrás de "Entry 'filename' not uptodate. Cannot merge." es:

Usted tiene cambios en los archivos en el directorio de trabajo que se sobrescribirán, eliminados o perdidos de otra manera, si la caja y cambiar a la nueva rama eran proceder.

Se has been reported que este mensaje podría ser "falsa" en el momento, (posiblemente porque "git pull" did not refresh the index antes de intentar fusionar) pero la solución estaba en Git1.6.1.
Sin embargo, todavía puede estar en mSysGit 1.6.1, entonces ¿ves el mismo error con una versión mSysGit más reciente? (como 1.6.3)

+0

Voy a actualizar a la última mSysGit. Gracias por la respuesta rápida y compendiosa! –

+0

Solo quería agregar que después de actualizar mSysGit a una versión más nueva, este problema específico nunca volvió a ocurrir. Así que de hecho, esa fue la causa de mi problema. –

+0

@James: gracias por sus comentarios. – VonC

6

Estaba teniendo el mismo problema y cambié el nombre del archivo que causaba esto e hice un git pull. Sacó ese archivo perdido y solucionó el problema.

+0

Esto funcionó! :-) –

+0

truco loco, pero funcionó! – cleric

Cuestiones relacionadas