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
--force
si 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 --rebase
termina 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
--force
puede 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
--rebase
opción funcionó para mí.git pull <remote> <branch> --rebase
Luego empuje al repositorio.
git push <remote> <branch>
P.ej
git pull origin master --rebase
git push origin master
fuente
He tenido el mismo problema. Resolví con
fuente
checkout
sobrescribirá 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
git
comandos.git pull {url} --rebase
git push --set-upstream {url} master
Primero 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