Como corrigir o erro do Git & lsquo; Suas alterações locais nos arquivos a seguir serão substituídas por mesclagem & rsquo;

A mensagem de erro “ Suas alterações locais nos arquivos a seguir serão substituídas por mesclagem ” ocorre no mecanismo de controle de versão Git. Este erro ocorre se você modificou um arquivo que também possui modificações no repositório remoto.

Erro Git: suas alterações locais nos arquivos a seguir serão substituídas por mesclagem durante a codificação

Essa mensagem de erro é evitada SE não houver arquivos não confirmados que também tenham modificações no repositório remoto. Ao experimentar esta mensagem, é melhor consultar os outros membros da equipe e pedir sua opinião. Se você deseja mesclar suas alterações locais ou manter a versão presente no repositório, é melhor manter todos a bordo.

O que são repositórios? O que são push e pull no Git?

Um repositório é um tipo de armazenamento para código que é constantemente modificado e obtido por membros da equipe por meio do mecanismo de controle de versão do GitHub. Um ' Pull' significa que você está puxando a versão mais recente do repositório em seu armazenamento local / IDE (Ambiente de Desenvolvimento Integrado), como Pycharm etc.

Após um pull, você faz alterações no código ou adiciona mais recursos. Quando terminar, você ' Empurra' o código para o repositório para que as alterações sejam salvas e as adições feitas. O código também fica acessível a outras pessoas.

Se você é novo no controle de versão do Github, é recomendável que você passe por todos os fundamentos primeiro. Neste artigo, presumimos que você já tenha conhecimento básico e conheça todos os detalhes.

Como corrigir 'Suas alterações locais nos arquivos a seguir serão substituídas por mesclagem'?

A resolução dessa mensagem de erro depende do que você deseja fazer. Você pode descartar suas alterações locais e obter as do repositório ou pode salvar suas alterações locais em um estoque e obter a versão do repositório. Tudo depende da sua preferência.

Portanto, recomendamos que você consulte os membros da sua equipe e certifique-se de que todos estejam na mesma página antes de prosseguir. Se você se comprometer incorretamente ou enviar a versão errada, isso pode afetar toda a equipe.

Método 1: forçar um pull para substituir as alterações locais

Se você não se importa com as alterações feitas localmente e deseja obter o código do repositório, pode forçar um pull. Isso substituirá todas as alterações locais feitas em seu computador e aparecerá uma cópia duplicada da versão no repositório.

Execute os seguintes comandos em seu IDE:

git reset - hard git pull

Isso destruirá instantaneamente todas as alterações locais, portanto, certifique-se de saber o que está fazendo e não precisa das alterações locais.

Método 2: manter as duas alterações (local e do repo)

Se você quiser manter ambas as mudanças (mudanças feitas localmente e mudanças presentes no repositório), você pode adicionar e enviar suas mudanças. Quando você puxa, obviamente haverá um conflito de mesclagem. Aqui você pode usar as ferramentas em seu IDE (como Difftool e mergetool) para comparar as duas partes do código e determinar quais alterações manter e quais remover. Este é o meio-termo; nenhuma alteração será perdida até que você as remova manualmente.

git add $ the_file_under_error git commit git pull

Quando você tiver um conflito de mesclagem, abra essas ferramentas de resolução de conflito e verifique linha por linha.

Método 3: manter as duas alterações, mas não comprometer

Esta situação acontece de tempos em tempos, quando os desenvolvedores não estão prontos para fazer commit porque há algum código parcialmente quebrado que você está depurando. Aqui podemos armazenar as alterações com segurança, obter a versão do repositório e, em seguida, remover o armazenamento do seu código.

git stash save --keep- index

ou

git stash
git pull git stash pop

Se houver alguns conflitos depois de abrir o estoque, você deve resolvê-los da maneira usual. Você também pode usar o comando:

git stash aplicar

em vez de pop se você não estiver pronto para perder o código escondido devido a conflitos.

Se a fusão não parece uma opção viável para você, considere fazer um rebase. Rebasing é o processo de mover ou combinar uma sequência de commits para um novo commit de base. No caso de rebase, altere o código para:

git stash git pull --rebase origin master git stash pop

Método 4: faça alterações em partes 'específicas' do seu código

Se você deseja fazer alterações em partes específicas do código e não deseja substituir tudo, pode confirmar tudo o que não deseja sobrescrever e, em seguida, seguir o método 3. Você pode usar o seguinte comando para as alterações que você deseja sobrescrever a partir da versão presente no repositório:

git checkout path / to / file / to / revert

ou

git checkout HEAD ^ caminho / para / arquivo / para / reverter

Além disso, você precisa se certificar de que o arquivo não seja testado por meio de:

git reset HEAD path / to / file / to / revert

Em seguida, prossiga com o comando pull:

git pull

Em seguida, isso tentará obter a versão do repositório.