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 foi descontinuada em March 02, 2021. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

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 main
> To https://hostname/USERNAME/REPOSITORY.git
>  ! [rejected]        main -> main (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