Pular para o conteúdo

Mesclagem de texto em três vias e conflitos

Cole a base comum, sua versão e a versão recebida e clique em Mesclar texto. As alterações independentes são unidas em um único resultado e as edições que tocam as mesmas linhas ficam dentro de marcadores de conflito que você revisa antes de copiar.

Funciona localmente no seu navegador
1Common base2Merge text3Merged text

Common baseBASE
Your versionOURS
Incoming versionTHEIRS
Merged text
Conflict details

    Como mesclar duas versões de um texto sobre uma base comum

    A bancada compara três blocos de texto simples linha por linha: a base comum de onde as duas versões partiram, sua versão e a versão recebida. Alteração feita por um lado só entra no resultado; quando os dois reescrevem a mesma região, as duas alternativas ficam dentro de um bloco de conflito em vez de uma delas ser escolhida.

    O texto mesclado aparece ao lado de três contadores e de uma lista de conflitos que indica a linha da saída e as linhas da base de cada um. A comparação roda dentro da página, o texto não sai do navegador, e Copiar ou Baixar levam o resultado para a próxima etapa.

    1. Cole a base comum no primeiro painel, sua versão no segundo e a versão recebida no terceiro. Finais de linha do Windows (CRLF) e do Unix são lidos, e arquivos longos podem ser colados como estão.
    2. Clique em Mesclar texto. As alterações independentes já saem unidas no resultado e cada edição sobreposta vira um bloco entre marcadores de conflito.
    3. Leia os contadores abaixo do resultado — Conflitos, Regiões alteradas e Linhas — e a lista Detalhes dos conflitos, que diz em que linha da saída está cada conflito e quais linhas da base ele substitui.
    4. Resolva cada bloco editando o texto mesclado ou mude uma entrada e mescle de novo. Limpar esvazia os três painéis, o resultado e os contadores.
    5. Copie o texto mesclado ou baixe como arquivo .txt. Mantenha Ignorar espaços finais na comparação marcado enquanto diferenças de indentação não devem contar como alteração.

    O que o texto mesclado contém e onde a ferramenta para

    Como a comparação por linhas funciona

    Cada versão é comparada com a base por uma diferença de linhas baseada na maior subsequência comum. Regiões alteradas por um lado só vêm desse lado; regiões alteradas pelos dois são reunidas em um único bloco de conflito, então edições vizinhas não geram duas marcas concorrentes. Alteração idêntica nos dois lados, inclusive apagar as mesmas linhas, é mesclada sem conflito.

    A comparação é por linhas, não por caracteres: uma linha reescrita conta como linha alterada e os marcadores entram como linhas inteiras. Como as duas versões são comparadas contra a mesma base, os dois históricos de edição não precisam se conhecer.

    Marcadores de conflito e os três contadores

    Um bloco de conflito começa com a linha <<<<<<< YOUR VERSION, seguida das suas linhas, depois ||||||| COMMON BASE com as linhas originais da base, o separador =======, as linhas recebidas e a linha final >>>>>>> INCOMING VERSION. Tudo fora do bloco já está mesclado.

    Os contadores medem coisas diferentes: Conflitos conta os blocos marcados, Regiões alteradas conta as áreas alteradas nas duas comparações e Linhas conta as linhas do resultado. Um arquivo de três linhas alterado em duas linhas diferentes mostra duas regiões alteradas, zero conflitos e três linhas; a mesma alteração em uma linha que os dois tocam mostra um conflito e nove linhas, porque o bloco conserva sua linha, a linha da base e a linha recebida entre quatro linhas de marcadores.

    Limites, processamento local e revisão

    A matriz de diferenças é montada no navegador, então a comparação é recusada quando o número de linhas da base multiplicado pelo de qualquer das versões passa de quatro milhões de pares. Duas versões de 2.000 linhas contra uma base de 2.000 são mescladas em cerca de meio segundo no Chrome; 2.010 linhas são recusadas com um aviso e o resultado anterior é apagado em vez de continuar na tela.

    Mesclar não envia nenhuma requisição de rede, então a ferramenta funciona offline e com textos que não podem passar por um serviço externo. O resultado mostra onde as versões discordam, não qual delas está certa: revise cada bloco antes de levar o arquivo para um build, uma configuração ou um documento.

    Ferramentas recentes: