Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

[Dúvida] fatal: refusing to merge unrelated histories

Quando tento fazer o pull do repositorio remoto para o repositório local para analiasar os trechos em conflito, aparece essa mensagem. O que estou fazendo de errado?

6 respostas

Oi!

Dá uma olhada aqui que acho que é o mesmo caso: https://cursos.alura.com.br/forum/topico-duvida-erro-de-link-407289

Na solução desse caso você falou para clonar os arquivos do meu repositório remoto no local, mas eu já havia feito isso. Vou explicar passo a passo do que eu fiz seguindo as etapas do desafio para ficar mais claro:

  • Criei uma nova pasta no meu computador para o desafio
  • Abri essa pasta no VS Code e cirei um novo repositório local com git init
  • Usei git clone para clonar o repositório de outro desafio do GitHub
  • Fiz uma alteração no código do meu repositório local e outra distinta no repositório remoto pelo próprio GitHub para tentar simular um conflito
  • Utilizei o git add . e em seguida fiz um commit das alterações
  • Tentei usar o git push e apareceu um erro falando para usar o git pull antes
  • Tentei usar o git pull e apareceu esse erro ("fatal: refusing to merge unrelated histories") Imagem do erro

O que eu fiz de errado?!

O problema foi que você rodou o git init, que cria um novo repositório do zero. Mas ao clonar, você está baixando um repositório já existente. Por isso deu erro, pois o git vai considerar que são 2 repositórios distintos que não tem relação um com o outro.

Faça o mesmo passo a passo que você listou, porém sem realizar o git init

Imaginei que isso fosse resolver, mas apareceu outro erro falando que não há um repositório .git, e continua aparecendo após qualquer comando que eu tente fazer.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Depois de clonar você precisa navegar para a pasta do projeto com o comando cd, antes de rodar os comandos do Git.

Exemplo:

git clone git@github.com:usuario/projeto-xpto
cd projeto-xpto
git add .
git commit -m "meu commit"

Era isso mesmo que faltava, não sabia que era necessário Obrigado pela atenção!