Estoy tratando de impulsar mi proyecto (todos los archivos en un nuevo repositorio). Sigo los pasos pero cuando presiono git push -u origin master
aparece este error:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:asantoya/projectnewbies.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Recibí este error muchas veces y no puedo entender qué hacer.
git push --force <remote_repository>
trabajó para mi.Respuestas:
Como dice el mensaje de error:
git pull
antes de intentarlogit push
. Aparentemente, su sucursal local no está sincronizada con su sucursal de seguimiento.Dependiendo de las reglas del proyecto y su flujo de trabajo, es posible que también desee usar
git pull --rebase
.fuente
git push --force origin master
. Si se encuentra con ese tipo de problemas más de una vez en su vida, el flujo de trabajo de su proyecto se interrumpe. Las características deben desarrollarse en ramas y fusionarse sin reenvío rápido y si una característica ha "fallado", debe revertir la confirmación de fusión (preferiblemente haga su prueba en una rama de integración antes de fusionar una característica para dominarla). Sin embargo, no tengo idea sobre Eclipse.git pull origin trunk:master
?AVISO: este nunca es un uso recomendado de git. Esto sobrescribirá los cambios en el control remoto. Solo haga esto si sabe al 100% que sus cambios locales deben enviarse al maestro remoto.
Prueba esto:
git push -f origin master
fuente
git help push
: "Esto puede hacer que el repositorio remoto pierda confirmaciones; úselo con cuidado".este comando funcionó bien para mí
fuente
Acabo de recibir este error.
Creé un repositorio github después de crear mi repositorio git local, por lo que necesitaba aceptar los cambios en local antes de presionar a github. En este caso, el único cambio fue el archivo Léame creado como paso opcional al crear el repositorio de Github.
La URL del repositorio se obtiene desde aquí en la página del proyecto Github:
Luego reinicialicé (esto puede no ser necesario)
Luego presione:
fuente
Creé un nuevo repositorio en github y tuve el mismo problema, pero también tuve problemas al tirar, así que esto funcionó para mí.
fuente
ADVERTENCIA:
Ir por un '
git pull
' NO SIEMPRE es una solución, así que ten cuidado. Puede enfrentar este problema (el que se menciona en la Q) si ha cambiado intencionalmente su historial de repositorio. En ese caso, git está confundiendo sus cambios en el historial con nuevos cambios en su repositorio remoto. Por lo tanto, debe optar por unagit push --force
, porque las llamadasgit pull
deshacerán todos los cambios que realizó en su historial, intencionalmente.fuente
Si
git pull
no ayuda, entonces probablemente haya presionado sus cambios (A) y luego hayagit commit --amend
agregado algunos cambios más (B). Por lo tanto, git piensa que puede perder el historial: interpreta B como una confirmación diferente a pesar de que contiene todos los cambios de A.Si nadie cambia el repositorio después
A
, entonces puedes hacerlogit push --force
.Sin embargo, si hay cambios posteriores
A
de otra persona:entonces debe volver a basar que las personas cambian de
A
aB
(C
->D
).o arregle el problema manualmente. No pensé cómo hacer eso todavía.
fuente
usa este comando:
git pull --allow-unrelated-histories <nick name of repository> <branch name>
me gusta:
git pull --allow-unrelated-histories origin master
Este error ocurre cuando los proyectos no tienen ningún antepasado común.
fuente
use fuerza bruta ;-) Lo más probable es que esté intentando agregar una carpeta local que creó antes de crear el repositorio en git.
fuente
Esto se debe a que hiciste algunos cambios en tu maestro, por lo que el proyecto te pide que lo hagas primero. Si quieres presionarlo de todos modos, puedes usar la fuerza bruta escribiendo esto:
Recuerde primero confirmar sus cambios:
fuente
Pruebe este comando: "git pull origin master"
Funcionó para mi.
Consulte este enlace: https://help.github.com/articles/dealing-with-non-fast-forward-errors
fuente
Necesitas hacer
si la salida es algo como:
entonces hazlo
Asegúrese de que no tiene ningún compromiso pendiente, ya que al retirar perderá todos los cambios no comprometidos.
fuente
! [rechazado] maestro -> maestro (sin avance rápido)
No entre en pánico, esto es extremadamente fácil de arreglar. Todo lo que tiene que hacer es emitir un pull y su sucursal avanzará rápidamente:
$ git pull myrepo master
Luego intente de nuevo y todo debería estar bien:
$ git push github master
fuente
Esto me sucedió cuando estaba en la rama de desarrollo y mi rama maestra no está con la última actualización.
Entonces, cuando intenté obtener el empuje de la rama de desarrollo, tuve ese error.
Lo arreglé cambiando a rama maestra, git pull, luego volví a desarrollar rama y git push.
fuente
Tuve este problema en una máquina de desarrollo. La
dev
rama estaba empujando bien pero lamaster
rama me dio (mientrasgit push
ing cuando estaba en ladev
rama):Entonces intenté:
Lo que me dio:
Descubrí que faltaba la rama maestra
.git/config
y agregué:Luego
git push
también funcionó bien en ladev
rama.fuente
Mi control remoto no estaba sincronizado con el local, así que esto funcionó para mí
git pull --rebase
y asegúrate de que cuando lo vuelvas a hacer
git pull
debería decir Ya está actualizado y ahora estás listo para ir al origenasumiendo que ya tienes
git remote add origin remote repository URL
hacer
La captura de pantalla lo dice todo
Alternativamente, puedes hacer esto
fuente
Tuve lo mismo que problema. Yo uso Git Totoise. Simplemente haga clic derecho -> TotoiseGit -> Limpiar. Ahora puedes empujar a Github. Funcionó bien conmigo: D
fuente
Esto se debe a que ha realizado cambios conflictivos en su maestro. Y su servidor de repositorio no puede decirle eso con estas palabras, por lo que le da este error porque no es cuestión de que él lidie con estos conflictos por usted, por lo que le pide que lo haga solo. Como ?
1-
git pull
Esto fusionará su código de su repositorio a su código del maestro de su sitio. Entonces se muestran los conflictos.2- tratar estos conflictos manualemente.
3-
Y listo, su problema ha sido resuelto.
fuente
Lo único que pude resolver este problema fue eliminar el repositorio local y git y crear el mismo nuevamente en ambos extremos. Funciona bien por ahora.
fuente
Si alguien tiene este error mientras intenta empujar a heroku, simplemente reemplace 'origen' con 'heroku' de esta manera: git push -f heroku master
fuente
Prueba esto, en mi caso funciona
fuente
Esto también puede deberse a algún error de nombre causado al dar nombre al Repo. Si alguna de las respuestas anteriores no funcionó. Esto funcionó para mí:
Elimine ese repositorio y cree uno nuevo e intente los siguientes comandos nuevamente:
si agregar origen muestra que ya existe, use esto en su lugar:
fuente