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

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

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

Ввод

Какая сторона побеждает, если локальная и удалённая версии по-разному изменили одни и те же строки.

Вывод

Результат слияния

Сводка

Результат
ПоказательЗначение
No data yet

Построчные различия

Результат
СтатусБазаЛокальнаяУдалённая
No data yet
Это было полезно?

Другие способы использовать этот инструмент

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"
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `3-way-text-diff-merge-viewer` tool (3-Way Text Diff & Merge Viewer) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/3-way-text-diff-merge-viewer/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Средство просмотра трёхсторонних различий и слияния текста — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

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

Трёхстороннее слияние сравнивает две отредактированные копии документа — локальную версию и удалённую версию — с общим предком, от которого они обе начали (так называемая база). Именно это делают 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

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

Все подборки

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

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