¿Qué significa "Se rechazaron las actualizaciones de Git Push que no son de avance rápido"?
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.
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 --amend
ogit rebase
.
Si bien puedes anular el control remoto agregando--force
elpush
comando, 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í:
Este no es exactamente su caso, pero ayuda a ver qué es el "avance rápido" (donde la HEAD
rama 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 sistemagitk --all
y debería darte una pista de lo que salió mal: busca "bifurcaciones" en el historial.
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.
es posible que desee utilizar la fuerza con la operación de empuje en este caso
git push origen maestro --force