Recibo el siguiente error, al intentar el primer impulso de Github:
[rejected] master -> master (non-fast forward)
error: failed to push some refs to '[email protected]:me/me.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'non-fast forward'
section of 'git push --help' for details.
¿Cómo puedo solucionar esto y combinar cambios remotos?
git pull
, haz otro commit y luego debería estar biengit checkout other-branch; git pull; git push; git checkout branch-i-was-working-on
.También puede forzar una inserción agregando el símbolo + antes del nombre de su sucursal.
fuente
git reset --hard
Probablemente tenga cambios en github que nunca fusionó. Intente
git pull
buscar y fusionar los cambios, entonces debería poder empujar. Lo siento si entendí mal tu pregunta.fuente
Si "git pull" y dice "Ya está actualizado", y aún recibe este error, podría deberse a que una de sus otras ramas no está actualizada. Intente cambiar a otra rama y asegúrese de que una también esté actualizada antes de intentar "git push" nuevamente:
Cambie a la rama "foo" y actualícela:
Puede ver las ramas que tiene emitiendo un comando:
fuente
Puede forzarlo a empujar, pero haga esto SOLO cuando esté bastante seguro de lo que está haciendo.
El comando es:
fuente
Este problema también puede ocurrir cuando tiene etiquetas en conflicto. Si su versión local y la versión remota usan el mismo nombre de etiqueta para diferentes confirmaciones, puede terminar aquí.
Puedes resolverlo borrando la etiqueta local:
fuente
Cuando recibí este error, hice una copia de seguridad de toda mi carpeta de proyecto. Entonces hice algo como
... dependiendo del nombre de su sucursal (si no es maestro).
Entonces lo hice
git pull --rebase
. Después de eso, reemplacé los archivos extraídos con los archivos de mi proyecto respaldado. Ahora estoy listo para comprometer mis cambios nuevamente y presionar.fuente
1) Forzar un tirón para sobrescribir los cambios locales
Si no le importan los cambios realizados localmente y desea obtener el código del repositorio, puede forzar una extracción. Esto sobrescribirá todos los cambios locales realizados en su computadora y aparecerá una copia duplicada de la versión en el repositorio.
Ejecute los siguientes comandos en su IDE:
Esto destruirá instantáneamente todos sus cambios locales, así que asegúrese de saber lo que está haciendo y no necesita sus cambios locales.
2) Mantener ambos cambios (local y del repositorio)
Si desea mantener ambos cambios (cambios realizados localmente y cambios presentes en el repositorio), puede agregar y confirmar sus cambios. Cuando tire, obviamente habrá un conflicto de fusión. Aquí puede usar las herramientas en su IDE (como Difftool y mergetool) para comparar las dos piezas de código y determinar qué cambios mantener y cuáles eliminar. Este es el camino del medio; no se perderán cambios hasta que los elimine manualmente.
fuente