Versión del artículo: Enterprise Server 2.17
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, los cambios que deseas subir se rechazan.
Si otra persona ha subido cambios en la misma rama que tú, Git no podrá subir tus cambios:
$ git push origin master
> To https://nombre de host/USERNAME/REPOSITORY.git
> ! [rejected] master -> master (non-fast-forward)
> error: failed to push some refs to 'https://nombre de host/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.
Puedes resolver este problema extrayendo y fusionando los cambios realizados en la rama remota con los cambios que has hecho 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, puedes simplemente usar git pull
para ejecutar al mismo tiempo ambos comandos:
$ git pull origin YOUR_BRANCH_NAME
# Grabs online updates and merges them with your local work