Resolver conflitos de mesclagem no Visual Studio
Quando fundes uma ramificação noutra, as alterações de arquivo de commits numa ramificação podem conflitar com as alterações na outra. O Git tenta resolver essas alterações usando o histórico em seu repositório para determinar como os arquivos mesclados devem parecer. Quando não está claro como mesclar alterações, o Git interrompe a mesclagem e informa quais arquivos estão em conflito.
Evitar conflitos de mesclagem
O Git é bom em mesclar automaticamente alterações de arquivo na maioria das circunstâncias, desde que o conteúdo do arquivo não mude drasticamente entre confirmações. Se a sua ramificação estiver muito atrás da sua ramificação principal, considere rebasear as suas ramificações antes de abrir um pull request. As ramificações rebaseadas serão fundidas na sua ramificação principal sem conflitos.
Resolver conflitos de mesclagem
Se estiver a colaborar com outras pessoas na mesma ramificação, poderá ver conflitos de fusão quando fizer o push das suas alterações.
O Visual Studio deteta se a ramificação local em que você está trabalhando está por trás de sua ramificação de rastreamento remoto e, em seguida, oferece opções para escolher.
Observação
Se o repositório remoto suportar Force Push, você poderá habilitá-lo usando Git>Configurações.
Neste exemplo, selecione Pull e Push para incluir as alterações introduzidas no repositório remoto. Se houver conflitos de fusão quando estiveres a puxar alterações ou a tentar fundir duas branches, Visual Studio informará na janela Mudanças do Git, na janela Repositório Git, e em todos os ficheiros com conflitos.
A janela Git Changes mostra uma lista de ficheiros com conflitos sob Alterações não mescladas. Para começar a resolver conflitos, clique duas vezes em um arquivo. Ou se você tiver um arquivo com conflitos abertos no editor, você pode selecionar Open Merge Editor.
No Editor de mesclagem, comece a resolver seu conflito usando qualquer um dos seguintes métodos (conforme descrito na captura de tela numerada):
Passe por seus conflitos linha por linha e escolha entre manter o lado direito ou esquerdo marcando as caixas de seleção.
- ou -
Selecione o botão Aceitar Entrada (ou pressione F10) para aceitar todas as alterações recebidas, ou o botão Manter Atual (ou pressione F11) para manter a sua versão atual de todas as alterações conflitantes. Você pode fazer a mesma coisa selecionando uma das caixas de seleção na parte superior de cada quadro lado a lado.
- ou -
Edite manualmente o código na janela Result.
Quando terminar de resolver os conflitos de mesclagem, selecione Aceitar mesclagem. Repita esse processo para todos os arquivos conflitantes.
Use a janela Git Changes para criar uma confirmação de mesclagem e resolver o conflito.
Observação
Se quiser manter todas as alterações em um arquivo, clique com o botão direito do mouse nele na seção Alterações não mescladas e selecione Manter Atual (Local) sem precisar abrir o Editor de Mesclagem.
Dica
Para saber mais sobre as opções de acessibilidade disponíveis para você, consulte a seção Atalhos de teclado do Git da página Dicas e truques de acessibilidade para o Visual Studio.
Configura a ferramenta de comparação
Se você definir seu arquivo .gitconfig
para usar uma ferramenta de comparação de terceiros, como BeyondCompare ou KDiff3, o Visual Studio a respeitará. Sempre que o Visual Studio normalmente exibe uma diferença, uma janela separada é aberta na ferramenta à sua escolha. Para obter um exemplo, consulte esta Stack Overflow pergunta.