Перейти к основному содержанию

Средство просмотра трёхсторонних различий и слияния текста

Объедините две отредактированные версии текста на основе их общей базы (трёхстороннее различие, как слияние Git). Автоматически разрешайте неперекрывающиеся правки и сообщайте о конфликтах с таблицей статуса построчно.

Ввод

Which side wins where local and remote both edited the same lines differently.

Вывод

Merged Text

Summary

Результат
MetricValue
No data yet

Line-by-line Diff

Результат
StatusBaseLocalRemote
No data yet
Это было полезно?

Руководства

Что такое трёхстороннее сравнение и слияние текста?

Трёхстороннее слияние сравнивает две отредактированные копии документа — локальную версию и удалённую версию — с общим предком, от которого они обе начали (так называемая база). Именно это делают Git, Mercurial и другие системы контроля версий при слиянии веток, но этот инструмент выполняет ту же операцию для любого текста: конфигурационных файлов, текстов, фрагментов кода, строк CSV и всего, что organized построчно.

В отличие от обычного двустороннего сравнения (которое только показывает, что изменилось), трёхстороннее слияние показывает, кто изменил, и можно ли объединить правки автоматически:

  • Строки, которые не были изменены ни одной из сторон, сохраняются как есть.
  • Строки, изменённые только одной стороной, автоматически объединяются.
  • Строки, изменённые одинаково обеими сторонами, считаются одной согласованной правкой.
  • Строки, изменённые по-разному обеими сторонами, помечаются как конфликт для ручного разрешения.

Как использовать

  1. Вставьте текст Базы — то есть исходную версию, общего предка.
  2. Вставьте Локальную и Удалённую версии — две версии, которые начались от базы и разошлись.
  3. Выберите действие При конфликте: показать конфликтные маркеры в стиле Git (<<<<<<< / ||||||| / ======= / >>>>>>>) для ручного разрешения, или автоматически разрешить все конфликты, отдавая приоритет локальной версии, удалённой версии или возвращаясь к тексту базы.
  4. Читайте блок Объединённый текст для результата, таблицу Сводка для быстрого подсчёта конфликтов и таблицу Последовательное сравнение для полной разбивки каждого неизменённого, изменённого или конфликтного участка.

Результат обновляется в реальном времени по мере набора текста — нажимать кнопку не нужно.

Как обнаруживаются конфликты

Инструмент выравнивает строки каждой версии относительно базы с помощью алгоритма сравнения по longest common subsequence (LCS) — той же техники, что используется в большинстве инструментов сравнения текстов. Совпадающие строки, найденные как в локальном, так и в удалённом сравнении, связывают три текста воедино; всё между двумя «якорями» сравнивается как блок. Блок становится конфликтом только тогда, когда обе стороны его изменили и их правки расходятся — правка, сделанная только одной стороной, всегда объединяется без конфликтов.

FAQ

Может ли это заменить git merge? Нет — это лёгкий инструмент в браузере, полезный для слияния текста вне рабочего процесса Git (например, два человека редактируют один документ или согласовывают расхождения конфигураций). Он не затрагивает ваш репозиторий или файловую систему.

Что означают конфликтные маркеры? <<<<<<< LOCAL до ======= — конфликтные строки вашей локальной версии; ======= до >>>>>>> REMOTE — удалённой версии; секция ||||||| BASE между ними показывает исходный текст для справки — то же соглашение, которое использует Git при конфликтах слияния.

Почему строку, которую я не трогал, показывает как изменённую? Сравнение работает по целым строкам. Если строка сместила позицию из-за добавления или удаления строк выше, алгоритм LCS может сопоставить её иначе. Разбиение длинных абзацев на более короткие строки обычно даёт более точные результаты.

Есть ли ограничение по размеру? Да — каждая версия ограничена 2 000 строками для поддержания скорости сравнения в браузере. Более длинные документы следует разделять на меньшие части.

Конфиденциальность

Все операции выполняются целиком в вашем браузере. Ваш текст никогда не загружается и не отправляется на сервер.

diffmergetext-comparegitconflict-resolution

Use it from code

From 3 credits per call

REST 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_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Часть рабочего процесса

Все подборки

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.