error: non-fast-forward updateerror: non-fast-forward update
El push reescribiría el historial de la rama remota y por eso es rechazado.
Qué causa este error
Tu rama local ha divergido de la rama remota. El push no es un simple fast-forward (añadir nuevos commits), sino que requeriría reescribir el historial remoto.
Cómo solucionarlo
Primero haz pull con rebase: git pull --rebase origin branch, y luego haz push. Si reescribiste el historial intencionadamente (rebase, amend), usa git push --force-with-lease (más seguro que --force). Nunca hagas force push a ramas compartidas sin coordinarlo con el equipo.
Códigos de Error Relacionados
Already up to date.Already up to date
La rama ya tiene todos los cambios de la rama que intentaste mergear o de la que hiciste pull.
error: pathspec did not match any fileserror: pathspec did not match any files
El patrón de archivo especificado no coincidió con ningún archivo rastreado.
fatal: shallow update not allowedfatal: shallow update not allowed
Se rechazó un push desde un clon superficial porque el remoto no permite actualizaciones superficiales.
fatal: Not possible to fast-forward, abortingfatal: Not possible to fast-forward, aborting
Un pull con --ff-only falló porque las ramas han divergido.
nothing to commit, working tree cleannothing to commit, working tree clean
No hay cambios para confirmar; el directorio de trabajo coincide con el último commit.
No local changes to saveNo local changes to save
Git stash no encontró archivos rastreados modificados para guardar.