No puedo encontrar una explicación decente del mensaje "[archivo]: necesita actualización" que git a veces escupe de vez en cuando. Incluso las preguntas frecuentes oficiales de git explican esto marcado como TODO. Si alguien pudiera explicar A) lo que significa; y B) cómo solucionarlo, estaría extremadamente agradecido.
156
Respuestas:
Significa que está intentando fusionar cambios desde algún lugar, pero los cambios incluyen modificaciones a un archivo que está sucio (actualmente modificado en su árbol de trabajo). Debe confirmar sus cambios pendientes, o guardarlos, extraer / rebase / fusionar / lo que sea que esté haciendo para actualizar y desarmar
fuente
git svn rebase
copia sucia. Stash save, rebase, stash pop, y todo estaba bien con el mundo.Como otros han señalado, el mensaje de necesidad de actualización significa que el archivo está sucio o, en otras palabras, desactualizado. Pero en lugar de reiniciar y comenzar de nuevo, lo que se puede hacer es simplemente
git status
y luego,git add <file>
si está en la lista de cambios . Porque ya podía agregar el archivo antes, pero luego lo cambió. Esto me sucedió, y con este simpleadd
he resuelto el problema.fuente
Inicie sesión en su servidor de producción / destino,
cd
en el directorio que contiene su aplicación y ejecute esos dos comandos.1. Restablecer a la última versión
2. Tire de los cambios
fuente
Como dice la respuesta a la otra pregunta vinculada, el mensaje simplemente significa que tiene cambios pendientes. También obtiene esto, por ejemplo, si realiza algunos cambios
git add
, luego cambia de opinión y lo hacegit reset HEAD file
con la intención de comenzar de nuevo.fuente
git reset HEAD file
hace que aparezca el mismo mensajeEste error puede ocurrir cuando el proceso de rebase realiza cambios adicionales en los archivos que no están en la rama de destino.
Para mí, la parte difícil fue con el
.gitattributes
archivo en mi repositorio. Se agregó un nuevo tipo de archivo binario en otra rama, pero su manejo se forzó como archivo de texto. Cuando git descargó el archivo del repositorio, los EOL (en realidad son bytes de valor binario) se reemplazaron, lo que resultó en una diferencia binaria.Agregar una nueva entrada para manejar un nuevo tipo de archivo como binario y volver a intentar todo el proceso resolvió el problema para mí.
fuente
En mi caso, seguí recibiendo
Tenía esos archivos en mi directorio, pero habían cambiado de nombre en mi rama actual. Entonces para arreglar, corrí
y me permitió continuar
fuente