¿Qué significa "Se rechazaron las actualizaciones de Git Push que no son de avance rápido"?

Resuelto Moshe asked hace 13 años • 10 respuestas

Estoy usando Git para administrar mis dos computadoras y mi desarrollo. Estoy intentando realizar cambios en GitHub y aparece este error:

No se pudieron enviar algunas referencias a <repo>. Para evitar que pierda el historial, se rechazaron las actualizaciones que no eran de avance rápido. Fusione los cambios remotos antes de volver a presionar.

¿Qué podría estar causando esto y cómo puedo solucionarlo?

EDITAR:

Al extraer el repositorio se devuelve lo siguiente:

*branch master->master (sin avance rápido) Ya actualizado

Al presionar todavía me da el error antes mencionado.

Moshe avatar Jan 14 '11 02:01 Moshe
Aceptado

GitHub tiene una buena sección llamada " Cómo lidiar con errores de "avance no rápido" "

Este error puede resultar un poco abrumador al principio, no temas.
En pocas palabras, git no puede realizar el cambio en el control remoto sin perder las confirmaciones, por lo que rechaza el envío .
Por lo general, esto se debe a que otro usuario ingresa a la misma rama. Puedes remediar esto buscando y fusionando la rama remota, o usando pull para realizar ambas cosas a la vez.

En otros casos, este error es el resultado de cambios destructivos realizados localmente mediante el uso de comandos como git commit --amendo git rebase.
Si bien puedes anular el control remoto agregando --forceel pushcomando, solo debes hacerlo si estás absolutamente seguro de que esto es lo que deseas hacer.
Los empujes forzados pueden causar problemas a otros usuarios que han obtenido la rama remota y se considera una mala práctica. En caso de duda, no fuerces .


Git no puede realizar cambios en el control remoto como una combinación de avance rápido, que una referencia de Visual Git ilustra así:

texto alternativo

Este no es exactamente su caso, pero ayuda a ver qué es el "avance rápido" (donde la HEADrama de una rama simplemente se mueve a una nueva confirmación más reciente).


El " branch master->master (non-fast-forward) Already-up-to-date" suele ser para sucursales locales que no rastrean a su contraparte remota.
Vea, por ejemplo, esta pregunta SO " git pull dice actualizado pero git push rechaza el avance no rápido ".
O las dos ramas están conectadas, pero en desacuerdo con su respectiva historia:
consulte " Historia interminable de GIT: ¿qué estoy haciendo mal aquí? "

Esto significa que su rama subversion y su rama remota git master no están de acuerdo en algo.
Se impulsó/comprometió algún cambio en uno que no está en el otro.
Enciende el sistema gitk --ally debería darte una pista de lo que salió mal: busca "bifurcaciones" en el historial.

VonC avatar Jan 13 '2011 19:01 VonC

Significa que se han enviado otras confirmaciones al repositorio remoto que difieren de sus confirmaciones. Generalmente puedes resolver esto con un

git pull

antes de empujar

En última instancia, "avance rápido" significa que las confirmaciones se pueden aplicar directamente en la parte superior del árbol de trabajo sin necesidad de una fusión.

minichate avatar Jan 13 '2011 19:01 minichate

es posible que desee utilizar la fuerza con la operación de empuje en este caso

git push origen maestro --force

uspinar avatar Feb 26 '2018 13:02 uspinar