Depois de mesclar um arquivo no Git, tentei extrair o repositório, mas ocorreu um erro:
Você não concluiu sua fusão. (MERGE_HEAD existe)
Como alguém conclui uma fusão?
Depois de mesclar um arquivo no Git, tentei extrair o repositório, mas ocorreu um erro:
Você não concluiu sua fusão. (MERGE_HEAD existe)
Como alguém conclui uma fusão?
Respostas:
Verifique o status ( git status
) do seu repositório. Cada arquivo não mesclado (depois de resolver os conflitos por você mesmo) deve ser adicionado ( git add
), e se não houver nenhum arquivo não mesclado você devegit commit
git status
e não algum alias que filtre qualquer mensagem. Na versão atual, quando você executa git status, ele mostra a mensagem o que você deve fazer para "concluir a fusão". E se você estiver absolutamente certo de que tudo foi mesclado e não perderá nada, você pode simplesmente remover os arquivos em .git / MERGE *, que armazenam o que você tentou mesclar e a mensagem de confirmação padrão para essa mesclagem
Nota e atualização:
Desde Git1.7.4 (janeiro de 2011), você tem git merge --abort
, sinônimo de " git reset --merge
" quando uma fusão está em andamento.
Mas se você quiser completar a fusão, enquanto de alguma forma nada resta a ser adicionado, então um bruto rm -rf .git/MERGE*
pode ser o suficiente para o Git esquecer a fusão atual.
A solução mais fácil que encontrei para isso:
git commit -m "fixing merge conflicts"
git push
Se você encontrar esse erro no SourceTree, vá para Actions> Resolve Conflicts> Restart Merge.
A versão do SourceTree usada é 1.6.14.0
Eu tive o mesmo erro e segui o artigo encontrado no google resolve meu problema. Você não concluiu sua fusão
git status
mostra um diretório de trabalho limpo) e o erro acima ainda ocorre?