Средство просмотра трёхсторонних различий и слияния текста
Объедините две отредактированные версии текста на основе их общей базы (трёхстороннее различие, как слияние Git). Автоматически разрешайте неперекрывающиеся правки и сообщайте о конфликтах с таблицей статуса построчно.
Ввод
Which side wins where local and remote both edited the same lines differently.
Вывод
Summary
| Metric | Value |
|---|---|
| No data yet | |
Line-by-line Diff
| Status | Base | Local | Remote |
|---|---|---|---|
| No data yet | |||
Руководства
Что такое трёхстороннее сравнение и слияние текста?
Трёхстороннее слияние сравнивает две отредактированные копии документа — локальную версию и удалённую версию — с общим предком, от которого они обе начали (так называемая база). Именно это делают Git, Mercurial и другие системы контроля версий при слиянии веток, но этот инструмент выполняет ту же операцию для любого текста: конфигурационных файлов, текстов, фрагментов кода, строк CSV и всего, что organized построчно.
В отличие от обычного двустороннего сравнения (которое только показывает, что изменилось), трёхстороннее слияние показывает, кто изменил, и можно ли объединить правки автоматически:
- Строки, которые не были изменены ни одной из сторон, сохраняются как есть.
- Строки, изменённые только одной стороной, автоматически объединяются.
- Строки, изменённые одинаково обеими сторонами, считаются одной согласованной правкой.
- Строки, изменённые по-разному обеими сторонами, помечаются как конфликт для ручного разрешения.
Как использовать
- Вставьте текст Базы — то есть исходную версию, общего предка.
- Вставьте Локальную и Удалённую версии — две версии, которые начались от базы и разошлись.
- Выберите действие При конфликте: показать конфликтные маркеры в стиле Git (
<<<<<<</|||||||/=======/>>>>>>>) для ручного разрешения, или автоматически разрешить все конфликты, отдавая приоритет локальной версии, удалённой версии или возвращаясь к тексту базы. - Читайте блок Объединённый текст для результата, таблицу Сводка для быстрого подсчёта конфликтов и таблицу Последовательное сравнение для полной разбивки каждого неизменённого, изменённого или конфликтного участка.
Результат обновляется в реальном времени по мере набора текста — нажимать кнопку не нужно.
Как обнаруживаются конфликты
Инструмент выравнивает строки каждой версии относительно базы с помощью алгоритма сравнения по longest common subsequence (LCS) — той же техники, что используется в большинстве инструментов сравнения текстов. Совпадающие строки, найденные как в локальном, так и в удалённом сравнении, связывают три текста воедино; всё между двумя «якорями» сравнивается как блок. Блок становится конфликтом только тогда, когда обе стороны его изменили и их правки расходятся — правка, сделанная только одной стороной, всегда объединяется без конфликтов.
FAQ
Может ли это заменить git merge?
Нет — это лёгкий инструмент в браузере, полезный для слияния текста вне рабочего процесса Git (например, два человека редактируют один документ или согласовывают расхождения конфигураций). Он не затрагивает ваш репозиторий или файловую систему.
Что означают конфликтные маркеры?
<<<<<<< LOCAL до ======= — конфликтные строки вашей локальной версии; ======= до >>>>>>> REMOTE — удалённой версии; секция ||||||| BASE между ними показывает исходный текст для справки — то же соглашение, которое использует Git при конфликтах слияния.
Почему строку, которую я не трогал, показывает как изменённую? Сравнение работает по целым строкам. Если строка сместила позицию из-за добавления или удаления строк выше, алгоритм LCS может сопоставить её иначе. Разбиение длинных абзацев на более короткие строки обычно даёт более точные результаты.
Есть ли ограничение по размеру? Да — каждая версия ограничена 2 000 строками для поддержания скорости сравнения в браузере. Более длинные документы следует разделять на меньшие части.
Конфиденциальность
Все операции выполняются целиком в вашем браузере. Ваш текст никогда не загружается и не отправляется на сервер.
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.