2
respostas

Erro ao realizar o comando GIT PUSH

Ao realizar o comando git push, é apresentado o seguite erro: ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'github.com:Kauefudalli/projetoadivinhaAlura.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. If you want to integrate the remote changes, hint: use 'git pull' before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Ao realizar o comando git pull origin main : PS C:\Users\kelfu\OneDrive\Área de Trabalho\Materias alura\GIT-GITHUB> git pull origin main From github.com:Kauefudalli/projetoadivinhaAlura

  • branch main -> FETCH_HEAD fatal: refusing to merge unrelated histories

Apliquei o comando: git merge --allow-unrelated-histories main

e ele retornou com :"Already up to date"

qual os passos para resolver o erro?

2 respostas

Olá, Kauê!

Pelo que você descreveu, parece que você está enfrentando um problema comum ao usar o Git, que é quando a branch local e a branch remota têm históricos divergentes. Isso significa que existem commits na branch remota que não estão na sua branch local, ou vice-versa, e o Git não consegue mesclar automaticamente esses commits.

Quando você tenta fazer um git push e recebe uma mensagem de erro informando que a ponta da sua branch atual está atrás da sua contraparte remota, isso geralmente significa que existem commits na branch remota que você ainda não possui na sua branch local. A solução sugerida pelo Git é fazer um git pull antes de tentar fazer o git push novamente.

No entanto, quando você tentou fazer um git pull origin main, você recebeu uma mensagem de erro informando que o Git está recusando-se a mesclar históricos não relacionados. Isso geralmente acontece quando você está tentando mesclar duas branches que não têm um histórico de commits em comum.

A solução que você tentou, usando o comando git merge --allow-unrelated-histories main, normalmente é a correta para resolver esse problema. No entanto, o fato de você ter recebido a mensagem "Already up to date" indica que sua branch local já está atualizada em relação à branch main.

Neste caso, eu sugiro que você tente os seguintes passos:

  1. Primeiro, verifique se você está realmente na branch correta com o comando git branch. O nome da branch em que você está atualmente deve estar destacado em verde e com um asterisco ao lado.

  2. Se você estiver na branch correta, tente fazer um git pull novamente para atualizar sua branch local com os commits mais recentes da branch remota.

  3. Se o git pull ainda não funcionar, você pode tentar resetar sua branch local para o estado da branch remota com o comando git reset --hard origin/main. Isso fará com que sua branch local seja exatamente igual à branch remota, descartando quaisquer commits que existam apenas na sua branch local.

Lembre-se de que o comando git reset --hard é uma operação destrutiva e você perderá quaisquer alterações não commitadas que tenha feito. Portanto, certifique-se de ter commitado ou salvo em outro lugar quaisquer alterações que você não queira perder antes de executar esse comando.

Espero ter ajudado e bons estudos!

Olá Lucas!

Primeiro, obrigado pela explicação! Agora tudo fez mais sentido. ( não adianta entender inglês e não saber o que de fato esta acontecendo). Fiz o reset e a branch local voltou as alterações antigas, como se trata do projetinho da aula, esta tudo nos conforme e sem grandes problemas.

Aproveitando, para realizar o " git push" para as novas alterações... qual seria o caminho dos comandos?

Obrigado mais uma vez pela atenção!