Visualizador de Diff e Merge 3-Vias de Texto
Mescle duas versões editadas de um texto em relação à sua base comum (um diff 3-vias, como um merge Git). Auto-resolva edições não sobrepostas e relate conflitos com uma tabela de status linha por linha.
Entrada
Which side wins where local and remote both edited the same lines differently.
Saída
Summary
| Metric | Value |
|---|---|
| No data yet | |
Line-by-line Diff
| Status | Base | Local | Remote |
|---|---|---|---|
| No data yet | |||
Guias
O que é um diff e merge de texto de 3 vias?
Um merge de 3 vias compara duas cópias editadas de um documento — uma versão local e uma versão remota — contra o ancestral comum de onde ambas partiram (a base). É exatamente o que o Git, Mercurial e outros sistemas de controle de versão fazem ao mesclar branches, mas esta ferramenta faz isso para qualquer texto puro: arquivos de configuração, textos, trechos de código, linhas CSV e qualquer conteúdo baseado em linhas.
Em vez de um simples diff de 2 vias (que apenas informa o que mudou), um merge de 3 vias informa quem fez a alteração e se as edições podem ser combinadas automaticamente:
- Linhas não tocadas por nenhuma das partes são mantidas como estão.
- Linhas editadas por apenas uma das partes são mescladas automaticamente.
- Linhas editadas de forma idêntica por ambas as partes contam como uma única alteração acordada.
- Linhas editadas de forma diferente por ambas as partes são sinalizadas como um conflito para você resolver.
Como usar
- Cole o texto Base — a versão original, o ancestral comum.
- Cole as versões Local e Remota — as duas versões que partiram da base e se divergiram.
- Escolha o que acontece Em caso de conflito: mostrar marcadores de conflito no estilo Git (
<<<<<<</|||||||/=======/>>>>>>>) para resolução manual, ou resolver automaticamente todos os conflitos priorizando a versão local, a remota ou voltando ao texto base. - Leia a caixa de Texto Mesclado para o resultado combinado, a tabela de Resumo para uma contagem rápida de conflitos e a tabela de Diff Linha por Linha para uma análise completa de cada região inalterada, alterada ou em conflito.
O resultado é atualizado em tempo real enquanto você digita — não é necessário clicar em nenhum botão.
Como os conflitos são detectados
A ferramenta alinha as linhas de cada versão com a base usando um diff de linhas por subsequência comum mais longa (LCS), a mesma técnica utilizada pela maioria das ferramentas de diff de texto. Linhas correspondentes encontradas tanto no diff local quanto no remoto ancoram os três textos; tudo entre duas âncoras é comparado como um bloco. Um bloco se torna um conflito apenas quando ambas as partes o alteraram e suas alterações discordam — uma edição feita por apenas uma das partes é sempre mesclada sem problemas.
FAQ
Isso substitui o git merge?
Não — é uma aproximação leve e baseada em navegador, útil para mesclar texto fora de um fluxo de trabalho Git (por exemplo, duas pessoas editando o mesmo documento ou reconciliando diferenças de configuração). Ela não afeta seu repositório ou sistema de arquivos.
O que significam os marcadores de conflito?
<<<<<<< LOCAL até ======= são as linhas em conflito da sua versão local; ======= até >>>>>>> REMOTE são da versão remota; a seção ||||||| BASE entre elas mostra o texto original para referência — a mesma convenção usada pelo Git em conflitos de merge.
Por que uma linha que não modifiquei aparece como alterada? O diff funciona por linhas inteiras. Se uma linha mudou de posição porque linhas acima dela foram adicionadas ou removidas, ela pode ser correspondida de forma diferente pelo algoritmo LCS. Dividir parágrafos longos em linhas mais curtas geralmente produz resultados mais precisos.
Existe um limite de tamanho? Sim — cada versão é limitada a 2.000 linhas para manter a comparação rápida no seu navegador. Documentos mais longos devem ser divididos em seções menores.
Privacidade
Tudo é executado inteiramente no seu navegador. Seu texto nunca é enviado ou transmitido para um servidor.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/3-way-text-diff-merge-viewer \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"baseText": "Line1\nLine2\nLine3",
"localText": "Line1\nLine2 changed by local\nLine3 local edit",
"remoteText": "Line1\nLine2\nLine3 remote edit\nLine4",
"conflictStrategy": "markers"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `3-way-text-diff-merge-viewer` tool (3-Way Text Diff & Merge Viewer) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.