Partilhar via


Como resolver conflitos de mesclagem no Visual Studio

Quando você mescla um branch com outro, as alterações de arquivo de confirmações em um branch podem entrar em conflito com as alterações no outro. O Git tenta resolver essas alterações usando o histórico em seu repositório para determinar a aparência dos arquivos mesclados. Quando não está claro como mesclar alterações, o Git interrompe a mesclagem e informa quais arquivos entram em conflito.

Evitar conflitos de mesclagem

O Git é bom na mesclagem automática de alterações de arquivo na maioria das circunstâncias, desde que o conteúdo do arquivo não mude drasticamente entre confirmações. Se o branch estiver muito atrás do branch principal, considere rebasear os branches antes de abrir uma solicitação de pull. Os branches com base trocada serão mesclados no branch principal sem conflitos.

Resolver conflitos de mesclagem

  • Se você estiver colaborando com outras pessoas no mesmo branch, poderá ver conflitos de mesclagem ao enviar suas alterações por push.

    Captura de tela do conflito de mesclagem após um push.

  • O Visual Studio detecta se o branch local no qual você está trabalhando está atrás de seu branch de rastreamento remoto e, em seguida, oferece opções para escolher.

    Captura de tela das opções disponíveis quando o branch local está atrás do branch remoto.

    Observação

    Se o repositório remoto der suporte ao 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 mesclagem quando você estiver efetuando pull de alterações ou tentando mesclar dois branches, o Visual Studio permitirá que você saiba na janela Alterações do Git, na janela Repositório Git e em todos os arquivos que têm conflitos.

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

  • A janela Alterações do Git mostra uma lista de arquivos com conflitos em 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 aberto no editor, poderá selecionar Abrir Editor de Mesclagem.

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

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

    1. Acesse 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 Aceitar Atuais (ou pressione F11) para manter sua versão atual com todas as alterações conflitantes. Você pode fazer a mesma coisa marcando uma das caixas de seleção na parte superior de qualquer quadro lado a lado.

      - ou -

    3. Edite manualmente seu código na janela Resultado.

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

    Dica

    Se você não gostar do layout padrão no Editor de Mesclagem, fique à vontade para alterá-lo usando o menu suspenso de engrenagem.

    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 tela da exibição vertical na interface do usuário 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 Alterações do Git 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 você quiser manter todas as alterações em um arquivo, clique com o botão direito do mouse 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ê, confira a seção Atalhos de teclado do Git da página Dicas e truques de acessibilidade do Visual Studio.

Configurar sua 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 respeitará essa escolha. Sempre que o Visual Studio exibir uma comparação, ele abrirá uma janela distinta na ferramenta de sua escolha. Para obter um exemplo, confira esta pergunta no StackOverflow.