Skip to main content

Tratamiento de errores sin avance rápido

En ocasiones, Git no puede efectuar tu cambio en un repositorio remoto sin perder confirmaciones. Cuando esto sucede, se rechaza tu push.

Si otra persona ha hecho 'push' a la misma rama que tú, Git no podrá hacer 'push' de tus cambios.

$ git push origin main
> To https://github.com/USERNAME/REPOSITORY.git
>  ! [rejected]        main -> main (non-fast-forward)
> error: failed to push some refs to 'https://github.com/USERNAME/REPOSITORY.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.

Para solucionarlo, obtener y fusionar los cambios realizados en la rama remota con los cambios realizados localmente:

$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin YOUR_BRANCH_NAME
# Merges updates made online with your local work

O bien, puede usar git pull para ejecutar ambos comandos a la vez:

$ git pull origin YOUR_BRANCH_NAME
# Grabs online updates and merges them with your local work