Edité mis repositorios GIT a través de Git Online. Después de que intenté impulsar los cambios de mi código local, recibí un error:
Git push failed, To prevent from losing history, non-fast forward updates were rejected.
¿Cómo puedo arreglar esto?

Respuestas:
Extraiga los cambios primero:
fuente
git pull:? El mando a distancia es igual aorigin, por lo que realmente ejecuta:git pull origin. ¿No debería actualizar todas las ramas?Agregue --force a su línea de comando si está seguro de que desea presionar. Por ejemplo, use
git push origin --force(recomiendo la línea de comando ya que encontrará mucho más soporte de otros usuarios con la línea de comando. Además, esto puede no ser posible con SmartGit). Consulte este sitio para obtener más información: http://help.github.com/ mandos a distancia /fuente
--forcesi es el único que usa esa rama. Sin embargo, causa problemas al compartir una rama con otros desarrolladores.Antes de presionar, haz un git pull con la opción de rebase. Esto obtendrá los cambios que realizó en línea (en su origen) y los aplicará localmente, luego agregará sus cambios locales encima.
Ahora puedes presionar al control remoto
Para obtener más información, consulte la explicación de Git rebase y el Capítulo 3.6 Git Branching - Rebasing .
fuente
git pull --rebasetermina conThere is no tracking information for the current branch. Please specify which branch you want to rebase against.Encontré el mismo error, solo agregue "--force" al comando, funciona
fuente
--forcepuede ser útil.Tuve el mismo problema.
La razón era que mi sucursal local de alguna manera había perdido el seguimiento de la contraparte remota.
Después
y resolviendo los conflictos de fusión, pude presionar.
fuente
Puede agregar --force-with-lease al comando, funcionará.
--force es destructivo porque sobrescribe incondicionalmente el repositorio remoto con lo que tenga localmente. Pero --force-with-lease asegura que no sobrescriba el trabajo de otros.
Vea más información aquí .
fuente
(Una) Solución para Netbeans 7.1: Pruebe un tirón. Esto probablemente también fallará. Ahora eche un vistazo a los registros (generalmente se muestran ahora en el IDE). Hay una o más líneas que dicen:
"Error al extraer debido a este archivo:"
Busque ese archivo, elimínelo (haga una copia de seguridad antes). Por lo general, es un archivo .gitignore, por lo que no eliminará el código. Rehacer el empujón. Todo debería funcionar bien ahora.
fuente
Usar la
--rebaseopción funcionó para mí.git pull <remote> <branch> --rebaseLuego empuje al repositorio.
git push <remote> <branch>P.ej
git pull origin master --rebasegit push origin masterfuente
He tenido el mismo problema. Resolví con
fuente
checkoutsobrescribirá estos cambios o al menos no los incluirá en push.Esto es lo que funcionó para mí. Se puede encontrar en la documentación de git. aquí.
Si se encuentra en la rama deseada, puede hacer esto:
fuente
Encontré el mismo problema, para solucionarlo, ejecute los siguientes
gitcomandos.git pull {url} --rebasegit push --set-upstream {url} masterPrimero debes haber creado el repositorio en github.
fuente
A veces, mientras tira de su git, el HEAD se desprende. Puede verificar esto ingresando el comando:
Es mejor moverse a su rama y tomar una nueva dosis de su rama respectiva.
fuente