Skip to main content
CheckTown
Инструменты разработчика

Инструмент сравнения текста: сравнивайте файлы и находите каждое изменение

Опубликовано 5 мин чтения
В этой статье

Что такое текстовый diff?

Текстовый diff — это сравнение двух версий текста, которое точно показывает, что изменилось. Он отображает добавления (новые строки или символы), удаления (удалённый контент) и неизменный контекст. Инструменты diff занимают центральное место в системах контроля версий, проверке кода и сравнении документов.

Наиболее распространённый алгоритм diff — Myers diff, который находит минимальное количество правок (вставок и удалений), необходимых для преобразования одного текста в другой. Именно этот алгоритм используется в Git и большинстве diff-инструментов.

Как работает сравнение diff

Текстовый diff CheckTown сравнивает два текстовых ввода и наглядно представляет различия.

  • Построчный diff — сравнивает тексты на уровне строк, показывая, какие строки были добавлены, удалены или изменены
  • Diff по символам в строке — для изменённых строк подсвечивает конкретные символы, которые изменились
  • Вид «бок о бок» — отображает обе версии параллельно для удобного визуального сравнения

Попробуйте бесплатно — без регистрации

Сравнить текст →

Когда использовать текстовый diff

Текстовый diff полезен в любом рабочем процессе, где нужно выявить изменения между двумя версиями контента.

  • Проверка кода — сравнивайте версии кода, чтобы понять, что изменилось в pull request или патче
  • Сравнение документов — выявляйте изменения между версиями договоров, политических документов или файлов конфигурации
  • Отладка данных — сравнивайте ответы API из разных окружений для выявления расхождений

Частые вопросы

Что такое формат unified diff?

Unified diff — это стандартный текстовый формат diff, используемый командами git diff и patch. Строки, начинающиеся с +, — это добавления, строки с - — удаления, строки без префикса — неизменный контекст. Маркеры @@ указывают, к каким номерам строк относится данный фрагмент.

В чём разница между word diff и line diff?

Line diff показывает целые строки как добавленные или удалённые. Word diff (git diff --word-diff) показывает изменения на уровне слов внутри строк, что упрощает обнаружение небольших правок в длинных строках. Diff на уровне символов показывает каждое отдельное изменение символа — он наиболее полезен при сравнении близких по содержанию строк.

Как игнорировать пробелы в diff?

Большинство инструментов diff поддерживают опции игнорирования пробелов. В Git используйте git diff -w, чтобы игнорировать все изменения пробелов, или -b, чтобы игнорировать изменения в количестве пробелов. Это удобно при сравнении кода, который был переформатирован без функциональных изменений, или текста из разных редакторов с разными символами конца строки.

Похожие инструменты