У цій статті
Що таке текстовий diff?
Текстовий diff — це порівняння двох версій тексту, яке чітко виділяє зміни: додавання (нові рядки або символи), видалення (вилучений вміст) та незмінений контекст. Інструменти diff є фундаментальними для систем контролю версій, перевірки коду та порівняння документів.
Найпоширенішим алгоритмом порівняння є Myers diff, який знаходить мінімальну кількість змін (вставок та видалень) для перетворення одного тексту на інший. Саме цей алгоритм використовує Git та більшість інструментів diff.
Як працює порівняння diff
Текстовий diff CheckTown порівнює два текстові введення та наочно представляє відмінності.
- Порядковий diff — порівнює тексти на рівні рядків, показуючи, які рядки були додані, видалені або змінені
- Посимвольний inline diff — для змінених рядків підсвічує конкретні символи, що змінилися
- Перегляд поруч — відображає обидві версії паралельно для зручного візуального порівняння
Спробуйте безкоштовно — реєстрація не потрібна
Порівняти тексти →Коли використовувати текстовий diff
Текстовий diff корисний у будь-якому робочому процесі, де потрібно визначити зміни між двома версіями вмісту.
- Перевірка коду — порівнюйте версії коду, щоб зрозуміти, що змінилося в pull request або патчі
- Порівняння документів — виявляйте зміни між версіями договорів, регламентів або файлів конфігурації
- Налагодження даних — порівнюйте API-відповіді з різних середовищ для виявлення розбіжностей
Часті запитання
Що таке уніфікований формат diff?
Уніфікований diff — це стандартний текстовий формат diff, що використовується git diff та patch. Рядки, що починаються з +, є доданими; рядки з - — видаленими; рядки без префіксу — незміненим контекстом. Маркери @@ вказують, до яких рядків відноситься відповідний блок.
У чому різниця між пословним та порядковим diff?
Порядковий diff показує цілі рядки як додані або видалені. Пословний diff (git diff --word-diff) показує зміни на рівні слів у межах рядків, що полегшує виявлення незначних правок у довгих рядках. Посимвольний diff показує кожну окрему зміну символу і є найкориснішим для порівняння схожих рядків.
Як ігнорувати пробіли у diff?
Більшість інструментів diff підтримують опції ігнорування пробілів. У Git використовуйте git diff -w для ігнорування всіх змін у пробілах або -b для ігнорування змін у кількості пробілів. Це корисно при порівнянні коду, що був переформатований без функціональних змін, або при порівнянні тексту з різних редакторів із різними символами кінця рядка.