Средство просмотра трёхсторонних различий и слияния текста
Объедините две отредактированные версии текста на основе их общей базы (трёхстороннее различие, как слияние 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 построчно.
В отличие от обычного двустороннего сравнения (которое только показывает, что изменилось), трёхстороннее слияние показывает, кто изменил, и можно ли объединить правки автоматически:
- Строки, которые не были изменены ни одной из сторон, сохраняются как есть.
- Строки, изменённые только одной стороной, автоматически объединяются.
- Строки, изменённые одинаково обеими сторонами, считаются одной согласованной правкой.
- Строки, изменённые по-разному обеими сторонами, помечаются как конфликт для ручного разрешения.
Как использовать
- Вставьте текст Базы — то есть исходную версию, общего предка.
- Вставьте Локальную и Удалённую версии — две версии, которые начались от базы и разошлись.
- Выберите действие При конфликте: показать конфликтные маркеры в стиле Git (
<<<<<<</|||||||/=======/>>>>>>>) для ручного разрешения, или автоматически разрешить все конфликты, отдавая приоритет локальной версии, удалённой версии или возвращаясь к тексту базы. - Читайте блок Объединённый текст для результата, таблицу Сводка для быстрого подсчёта конфликтов и таблицу Последовательное сравнение для полной разбивки каждого неизменённого, изменённого или конфликтного участка.
Результат обновляется в реальном времени по мере набора текста — нажимать кнопку не нужно.
Как обнаруживаются конфликты
Инструмент выравнивает строки каждой версии относительно базы с помощью алгоритма сравнения по longest common subsequence (LCS) — той же техники, что используется в большинстве инструментов сравнения текстов. Совпадающие строки, найденные как в локальном, так и в удалённом сравнении, связывают три текста воедино; всё между двумя «якорями» сравнивается как блок. Блок становится конфликтом только тогда, когда обе стороны его изменили и их правки расходятся — правка, сделанная только одной стороной, всегда объединяется без конфликтов.
FAQ
Может ли это заменить git merge?
Нет — это лёгкий инструмент в браузере, полезный для слияния текста вне рабочего процесса Git (например, два человека редактируют один документ или согласовывают расхождения конфигураций). Он не затрагивает ваш репозиторий или файловую систему.
Что означают конфликтные маркеры?
<<<<<<< LOCAL до ======= — конфликтные строки вашей локальной версии; ======= до >>>>>>> REMOTE — удалённой версии; секция ||||||| BASE между ними показывает исходный текст для справки — то же соглашение, которое использует Git при конфликтах слияния.
Почему строку, которую я не трогал, показывает как изменённую? Сравнение работает по целым строкам. Если строка сместила позицию из-за добавления или удаления строк выше, алгоритм LCS может сопоставить её иначе. Разбиение длинных абзацев на более короткие строки обычно даёт более точные результаты.
Есть ли ограничение по размеру? Да — каждая версия ограничена 2 000 строками для поддержания скорости сравнения в браузере. Более длинные документы следует разделять на меньшие части.
Конфиденциальность
Все операции выполняются целиком в вашем браузере. Ваш текст никогда не загружается и не отправляется на сервер.