1
resposta

Errro no git push

Ao subir o tentar subir o meu projeto para o git recebo a seguinte mensagem:

 git push origin master
To github.com:Matheus-dev58/Gestao-De-Estoque.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'github.com:Matheus-dev58/Gestao-De-Estoque.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Alguem saberia o porque disso?

1 resposta

Olá Matheus, tudo certo?

Isso está acontecendo porque você está tentando subir alterações para uma ramificação remota (origin), mas contém alterações na ramificação local.

Com essa mensagem, o Git aconselha integrar as alterações remotas com o comando git pull antes de utilizar o git push novamente.

Isso acontece porque o comando git push é utilizado para publicar modificações locais a um repositório central. Como demonstrado na imagem abaixo, onde cada círculo representa um commit:

Diagrama representando o antes e o após ao push, onde antes se têm 4 círculos que representam os commits, o segundo está marcado como (Origin/Main) e o último Main. Após o push, temos os 4 círculos/commits, sendo o último marcado como (Origin/Main) e Main.

Fonte: Git push - Atlassian

Já pelo o que entendi, no seu caso, você está trabalhando com uma ramificação remota, o que seria semelhante a isso:

Diagrama que representa duas ramificações da Local Origin/Main, sendo uma ramificação representada por Main on remote origin e a outra representada por Main.

Fonte: Git pull - Atlassian

Por isso, o Git recomendou fazer um git pull, pois ele cria um commit que junta as modificações das duas ramificações, dessa forma:

Digrama acima unificado com um círculo/commit Local main.

Fonte: Git pull - Atlassian

O Git recomenda você fazer essa mesclagem para evitar futuros conflitos. Você pode tentar da seguinte maneira:

git pull origin master

Porém, caso você não queira mesclar as ramificações, você pode forçar o git push, dessa forma:

git push -f origin master

Mas use o comando acima com cuidado para não correr o risco de perder modificações/commits, ok?

Espero que tenha ajudado e, qualquer coisa, estamos à disposição!

Bons estudos! 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software