Partilhar via


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.

    Captura de ecrã do conflito de mesclagem após um push.

  • 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.

    Captura de tela das opções disponíveis quando a ramificação local está atrás da ramificação remota.

    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.

    Captura de tela de uma notificação de conflito de mesclagem.

  • 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.

    Captura de tela do status do conflito de mesclagem na janela Alterações do Git.

  • No Editor de mesclagem, comece a resolver seu conflito usando qualquer um dos seguintes métodos (conforme descrito na captura de tela numerada):

    1. Passe por seus conflitos linha por linha e escolha entre manter o lado direito ou esquerdo marcando as caixas de seleção.

      - ou -

    2. 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 -

    3. Edite manualmente o código na janela Result.

    Captura de tela que mostra como resolver um conflito de mesclagem no Visual Studio 2022.

    Dica

    Se não gostares do layout padrão no Editor de Mesclagem, podes alterá-lo usando o menu de engrenagem pendente.

    Captura de tela das opções de layout do Editor de mesclagem.

    Por exemplo, a captura de tela a seguir mostra a aparência do modo de exibição vertical:

    Captura de ecrã da vista vertical na interface de utilizador do Editor de Mesclagem.

  • Quando terminar de resolver os conflitos de mesclagem, selecione Aceitar mesclagem. Repita esse processo para todos os arquivos conflitantes.

    Captura de tela da ação Aceitar mesclagem no Visual Studio 2022.

  • Use a janela Git Changes para criar uma confirmação de mesclagem e resolver o conflito.

    Captura de tela de como criar uma confirmação de mesclagem usando a janela Alterações do Git.

    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.

    Captura de tela da opção de menu Manter atual.

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.