Порівняння текстів (Diff Checker)
Порівнюйте два тексти або фрагменти коду рядок за рядком. Додані, видалені та змінені рядки підсвічуються аж до конкретних слів, що відрізняються.
Працює в браузеріБез реєстраціїНічого не завантажується
Як користуватися: Порівняння текстів (Diff)
- Вставте початковий текст ліворуч, а змінений — праворуч, або відкрийте два файли.
- Порівняння оновлюється під час введення. Виберіть вигляд Поруч або Єдиний.
- Позначте Ігнорувати пробіли, Ігнорувати регістр або Ігнорувати порожні рядки, щоб приховати шум на кшталт зміни відступів.
- Скористайтеся Сховати незмінене, щоб зосередитися на змінах із трьома рядками контексту навколо кожної.
- Натисніть Копіювати як патч або Завантажити .diff, щоб отримати стандартний unified diff, який застосовується через
git applyабоpatch.
Як працює порівняння
Інструмент розбиває обидва тексти на рядки й запускає алгоритм Маєрса — той самий алгоритм O(ND), що його використовують git diff і GNU diff. Він знаходить найкоротшу послідовність вставок і видалень, яка перетворює початковий текст на змінений, тому результат показує мінімально можливу кількість змінених рядків. Однакові рядки на початку й у кінці пропускаються заздалегідь, тож навіть файли на тисячі рядків порівнюються майже миттєво.
Коли видалений і доданий рядки стоять поруч, вони об'єднуються в змінений рядок і порівнюються ще раз за словами. Слова, що справді змінилися, підсвічуються яскравіше, тож перейменована змінна чи виправлене число одразу помітні навіть у довгому рядку.
Поруч чи єдиний вигляд
Вигляд Поруч показує оригінал ліворуч і нову версію праворуч із номерами рядків для обох. Це найзручніший вигляд для перевірки текстів, конфігів і невеликих змін коду. Єдиний вигляд чергує видалені (-) і додані (+) рядки в одній колонці — цей формат використовують інструменти код-рев'ю та патч-файли.
Формат unified diff (патч)
Експортований патч відповідає формату diff -u: заголовок ---/+++, далі блоки (hunks), що починаються з @@ -l,s +l,s @@, де l — номер першого рядка, а s — кількість рядків блоку в кожному файлі. Кожен блок містить три рядки незміненого контексту, тому його можна застосувати через patch -p0 або git apply, навіть якщо сусідні рядки змістилися.
Коли використовувати опції ігнорування
- Ігнорувати пробіли вважає рядки однаковими, якщо вони відрізняються лише пробілами чи табуляцією. Корисно після зміни відступів або заміни табів на пробіли.
- Ігнорувати регістр зручно для SQL, HTML і логів, де регістр не важливий.
- Ігнорувати порожні рядки приховує рядки, додані чи видалені лише заради відступів.