Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-05-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.17

Lidar com erros non-fast-forward

Às vezes, o Git não pode fazer sua alteração em um repositório remote sem perder os commits. Quando isso acontece, seu push é recusado.

Se outra pessoa tiver feito push no mesmo branch que você, o Git não poderá fazer push das alterações:

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

Você pode corrigir isso fazendo fetch e merge das alterações feitas no branch remote com as alterações que foram feitas localmente:

$ git fetch origin
# Faz fetch das atualizações feitas em um repositório online
$ git merge origin YOUR_BRANCH_NAME
# Faz merge de atualizações feitas online com seu trabalho local

Ou você pode simplesmente usar git pull para executar ambos os comandos de uma vez:

$ git pull origin YOUR_BRANCH_NAME
# Captura atualizações online e faz merge delas com seu trabalho local

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato