Porównywarka tekstu (diff)

Dalej: tekst zmieniony

Wyłapanie trzech słów, które zmieniły się między dwiema wersjami umowy, dodatkowego przecinka w eksporcie CSV albo tego, co dokładnie przesunęło się w pliku konfiguracyjnym, to wszystko jest niemożliwe gołym okiem powyżej kilkuset wierszy. Wklej dwie wersje tekstu, a ta porównywarka pokaże dodania na zielono, usunięcia na czerwono i podświetlenia w wierszu dla zmian w tej samej linii.

Jak powstaje porównanie

  1. 1

    Wklej dwie wersje

    Najpierw wklej tekst oryginalny, a potem wersję, którą chcesz z nim porównać.

  2. 2

    Narzędzie uruchamia diff Myersa

    Ten sam algorytm, którego używa git, dający minimalną sekwencję zmian.

  3. 3

    Wiersze zostają wyrównane

    Niezmienione wiersze pozostają obok siebie; wstawione/usunięte zachowują puste miejsce po drugiej stronie.

  4. 4

    Podświetlenia w wierszu

    W zmodyfikowanych wierszach cieniowane są tylko zmienione słowa, więc widzisz dokładnie, co się ruszyło.

Konwencje kolorów w diffie

Kolor Znaczenie
Czerwony Usunięty: wiersz jest tylko w tekście oryginalnym
Zielony Dodany: wiersz jest tylko w tekście zmienionym
Ciemniejszy czerwony lub zielony Słowa, które zmieniły się w edytowanym wierszu
Biały Bez zmian (kontekst)

Typowe zastosowania

  • Wersje umów, sprawdź dokładnie, które klauzule zmieniły się między v3 a v4 porozumienia przed podpisem.
  • Audyt plików konfiguracyjnych, zweryfikuj, co kolega zmienił w nginx.conf przed wgraniem na produkcję.
  • QA tłumaczeń, wyrównaj dwie lokalizacje tego samego ciągu, by wyłapać brakującą interpunkcję.
  • Porównania eksportów CSV, zauważ, które wiersze różnią się między zrzutem danych z tego i ubiegłego tygodnia.
  • Code review bez Gita, szybkie, jednorazowe porównanie, gdy nie chcesz zakładać repozytorium.

Wskazówki dla czystych porównań

  • Końce wierszy nigdy nie liczą się jako zmiany. Znaki końca wiersza z Windows (CRLF) oraz z Uniksa lub macOS (LF) są porównywane jako takie same, więc niczego nie trzeba wcześniej konwertować.
  • Usuń końcowe białe znaki w obu przed porównaniem; inaczej niewidoczne spacje rejestrują się jako zmiany.
  • Dla JSON-a lub YAML-a sformatuj oba z tym samym wcięciem najpierw. Przeformatowanie maskuje prawdziwe zmiany.
  • Posortuj alfabetycznie, jeśli porównujesz dwie listy, których kolejność nie ma znaczenia (jak zależności).

Ograniczenia diffów wierszowych

Diffy wierszowe świetnie sprawdzają się dla kodu i konfiguracji. Są przeciętne dla prozy, gdzie przeniesienie zdania o dwa akapity pokazuje się jako jedno usunięcie i jedno wstawienie zamiast przeniesienia. Do redakcji tekstu diffy na poziomie słów lub zdań dają czystsze wyniki.

Najczęściej zadawane pytania

Tak. Teksty są porównywane wiersz po wierszu w każdym języku i systemie pisma, więc chiński, japoński, arabski, tajski, polskie znaki i emoji działają bez problemu. W edytowanym wierszu zaznaczane są słowa, które się zmieniły; w chińskim, japońskim i tajskim, w których słów nie oddziela się spacjami, zaznaczane są zamiast tego zmienione znaki.

Do 20 000 wierszy i 500 000 znaków na tekst. Gdy tekst jest dłuższy albo dwa długie teksty różnią się zbyt mocno, by porównać je wiersz po wierszu, narzędzie pokazuje komunikat zamiast zawieszać stronę: porównaj mniejszy fragment każdego tekstu albo użyj git diff lub programu do porównywania na komputerze. Gdy porównanie ma ponad 5 000 wierszy, strona pokazuje pierwsze 5 000, a skopiowany unified diff nadal zawiera wszystkie zmiany.

Włącz opcję „Ignoruj białe znaki”, aby pominąć różnice będące jedynie zmianą wcięcia lub końcowych spacji. Przydatne, gdy formatery (Prettier, Black) generują szum, który cię nie obchodzi.

Nie. Oba teksty pozostają w twojej przeglądarce: są porównywane na tej stronie i nie trafiają na nasze serwery ani do linku strony. Między krokami są przechowywane tylko w tej karcie przeglądarki, dopóki jej nie zamkniesz lub nie wybierzesz opcji „Zacznij od nowa”.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach