A mensagem de erro “ Suas alterações locais nos seguintes arquivos serão substituídas por mesclagem ”Ocorre no mecanismo de controle de versão do 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
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. UMA ' Puxar' 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. Assim que terminar, você ‘ Empurrar' o código no repositório para que as alterações sejam salvas e as adições sejam 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 pela 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 de sua equipe e certifique-se de que todos estejam no mesma página antes de seguir em frente. 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ês não se preocupe com as mudanças feitas localmente e deseja obter o código do repositório, você pode forçar um pull. Isso substituirá todas as alterações locais feitas em seu computador e uma cópia duplicada da versão no repositório aparecerá.
Execute os seguintes comandos em seu IDE:
git reset - hard git pull
Isso destruirá instantaneamente todas as suas mudanças locais, então certifique-se de que você sabe o que está fazendo e não precisa de suas mudanças 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 quiser fazer alterações em partes específicas do código e não quiser substituir tudo, você pode comprometer tudo que você não deseja substituir e, em seguida, siga o método 3. Você pode usar o seguinte comando para as alterações que deseja substituir 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 caminho / para / arquivo / para / reverter
Em seguida, prossiga com o comando pull:
git pull
Isso tentará obter a versão do repositório.
3 minutos lidos