Porównywarka tekstu (Diff Checker)
Porównaj dwa teksty lub fragmenty kodu linia po linii. Dodane, usunięte i zmienione linie są podświetlone, aż do konkretnych słów, które się różnią.
Działa w przeglądarceBez rejestracjiNic nie jest wysyłane
Jak używać: Porównywarka tekstu (Diff)
- Wklej oryginalny tekst po lewej, a zmieniony po prawej, lub otwórz dwa pliki.
- Porównanie aktualizuje się podczas pisania. Wybierz widok Obok siebie lub Ujednolicony.
- Zaznacz Ignoruj białe znaki, Ignoruj wielkość liter lub Ignoruj puste linie, aby ukryć szum, np. zmienione wcięcia.
- Użyj Ukryj niezmienione, aby skupić się na zmianach z trzema liniami kontekstu wokół każdej.
- Kliknij Kopiuj jako patch lub Pobierz .diff, aby uzyskać standardowy unified diff, który zastosujesz przez
git applylubpatch.
Jak działa ta porównywarka
Narzędzie dzieli oba teksty na linie i uruchamia algorytm różnic Myersa, ten sam algorytm O(ND), którego używają git diff i GNU diff. Znajduje najkrótszą sekwencję wstawień i usunięć zamieniającą oryginał w zmieniony tekst, więc wynik pokazuje najmniejszą możliwą liczbę zmienionych linii. Identyczne linie na początku i końcu są najpierw pomijane, dzięki czemu porównanie plików z tysiącami linii jest niemal natychmiastowe.
Gdy usunięta i dodana linia sąsiadują ze sobą, są łączone w parę jako linia zmodyfikowana i porównywane ponownie słowo po słowie. Słowa, które faktycznie się zmieniły, dostają mocniejsze podświetlenie, więc zmieniona nazwa zmiennej czy edytowana liczba wyróżnia się nawet w długiej linii.
Widok obok siebie a ujednolicony
Widok Obok siebie pokazuje oryginał po lewej i nową wersję po prawej, z numerami linii dla obu. To najwygodniejszy widok do przeglądania tekstów, plików konfiguracyjnych i krótkich zmian w kodzie. Widok Ujednolicony przeplata usunięte (-) i dodane (+) linie w jednej kolumnie – to format używany przez narzędzia do code review i pliki patch.
Format unified diff (patch)
Eksportowany patch ma format diff -u: nagłówek ---/+++, a następnie bloki (hunki) zaczynające się od @@ -l,s +l,s @@, gdzie l to numer pierwszej linii, a s liczba linii hunka w każdym pliku. Każdy hunk zawiera trzy linie niezmienionego kontekstu, więc można go zastosować przez patch -p0 lub git apply, nawet jeśli pobliskie linie się przesunęły.
Kiedy używać opcji ignorowania
- Ignoruj białe znaki traktuje linie jako równe, jeśli różnią się tylko spacjami lub tabulatorami. Przydaje się po zmianie wcięć lub zamianie tabulatorów na spacje.
- Ignoruj wielkość liter przydaje się przy SQL, HTML i plikach logów, gdzie wielkość liter nie ma znaczenia.
- Ignoruj puste linie ukrywa linie, które zostały dodane lub usunięte jedynie jako odstępy.