versiones source software open español descargar control git version-control

source - git login



¿Qué significa "se rechazaron las actualizaciones de Git push non-fast-forward"? (4)

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

git push origin master --force

Estoy usando Git para administrar mis dos computadoras y mi desarrollo. Estoy intentando realizar cambios en GitHub y obtengo el error.

Error al enviar algunos refs a <repo> . Para evitar que pierda el historial, se rechazaron las actualizaciones que no son de avance rápido. Combine los cambios remotos antes de volver a presionar.

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

EDITAR:

Al tirar del repos, se obtiene lo siguiente:

* branch master-> master (non-fast-forward) Ya está actualizado

Empujar todavía me da el error antes mencionado.


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

Este error puede ser un poco abrumador al principio, no temas.
En pocas palabras, git no puede realizar el cambio en el control remoto sin perder compromisos, por lo que rechaza el empuje .
Por lo general, esto es causado por otro usuario que empuja a la misma rama. Puede 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 o git rebase .
Si bien puede anular el control remoto agregando --force al comando push , solo debe hacerlo si está absolutamente seguro de que esto es lo que desea hacer.
Los empujones forzados pueden causar problemas a otros usuarios que han buscado la rama remota, y se consideran malas prácticas. En caso de duda, no presione la fuerza .

Git no puede hacer cambios en el control remoto como una fusión de avance rápido, que una Referencia de Visual Git ilustra como:

Este no es exactamente su caso, pero ayuda a ver qué es el "avance rápido" (donde la HEAD 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 las sucursales locales que no rastrean su contraparte remota.
Vea, por ejemplo, la siguiente pregunta: " 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:
Ver " Historia interminable de GIT: ¿qué estoy haciendo mal aquí? "

Esto significa que su rama de subversión y su rama maestra remota de git no están de acuerdo en algo.
Algunos cambios fueron empujados / comprometidos a uno que no está en el otro.
gitk --all , y debería darte una pista de lo que salió mal - busca "bifurcaciones" en la historia.


Significa que ha habido otras confirmaciones enviadas al repositorio remoto que difieren de sus confirmaciones. Por lo general, 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 requerir una fusión.


Una actualización rápida es donde los únicos cambios son de un lado después de la confirmación más reciente en el otro lado, por lo que no es necesario que haya ninguna fusión. Esto significa que necesita fusionar sus cambios antes de poder presionar.