1
resposta

Por que uma pasta removida em main não foi removida na branch feature após o merge?

Segue a sequência de comandos que fiz:

git checkout main
rm -rf routes
git add .
git commit -m 'removi pasta routes'
git push
git checkout feature
git merge main 
### aviso: fatal: refusing to merge unrelated histories
git merge main --allow-unrelated-histories

A pasta routes continua existindo em feature. Por que?

1 resposta

Olá César, tudo joia?

O erro apresentado na mensagem "fatal: refusing to merge unrelated histories " que em tradução livre para português seria, "fatal: recusando-se a mesclar histórias não relacionadas", ocorre quando a uma tentativa de mesclar dois projetos que não estão relacionados na mesma árvore de trabalho, ou seja, são projetos que não estão cientes da existência um do outro.

Porém, existe uma forma de conseguir forçar a mesclagem entre projetos diferentes. Para isso, você deve ceder uma permissão para que seja feito "merge" entre dois projetos distintos, passando o parâmetro --allow-unrelated-histories, como é mostrado abaixo.

git pull <remote> <branch> --allow-unrelated-histories

Aviso: Lembre-se de trocar os nomes do remote e branch para os que você utiliza em seu projeto.

Dessa forma os arquivos que estão no seu repositório remoto, que possivelmente está ocasionando esse erro por não estar no repositório local, vão ser enviados para o seu repositório local, e a partir disso você poderá realizar o git merge sem problemas.

Espero que eu tenha ajudado César, caso ainda tenha dúvidas em relação a este tópico, estarei à sua disposição. Abraços e bons estudos!

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

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