Co je tento nástroj?
Nástroj diff (rozdíl) porovnává dva texty a zobrazuje minimální sadu změn, které promění jeden v druhý. Je to způsob, jakým systémy pro správu verzí jako Git zobrazují změny v kódu, a stejně tak je užitečný pro porovnávání konfiguračních souborů, smluv, článků nebo jakýchkoli dvou verzí čehokoli.
Tento nástroj porovnává po řádcích pomocí stejné rodiny základního algoritmu (nejdelší společná podposloupnost) jako klasické nástroje diff, takže výstup se čte jako známá revize kódu: + pro přidané řádky, − pro odstraněné řádky.
Proč ho používat?
- Zjistěte, co se skutečně změnilo mezi dvěma verzemi, místo přejíždění pohledem.
- Známý výstup ve stylu git: zelené přídavky, červené odstranění, kontextové řádky mezi nimi.
- Souhrnný počet přidaných a odstraněných řádků na první pohled.
- Funguje s jakýmkoli textem — kód, konfigurace, dokumenty, seznamy.
- Soukromé: oba texty zůstávají ve vašem prohlížeči, nic se nenahrává.
Jak se používá
- Vložte původní text do levého pole.
- Vložte změněnou verzi do pravého pole.
- Klikněte na "Porovnat".
- Přečtěte si výsledek: zelené řádky byly přidány, červené řádky byly odstraněny, obyčejné řádky jsou nezměněny.
Příklad
Vstup
Původní:
řádek jedna
řádek dva
řádek tři
Změněný:
řádek jedna
řádek 2
řádek třiVýstup
řádek jedna
− řádek dva
+ řádek 2
řádek třiProstřední řádek byl změněn, což diff zobrazuje jako odstranění starého řádku a přidání nového.
Běžné případy použití
- Revize odstavce přepsaného AI: vložte původní a verzi AI, abyste viděli přesně, které věty se změnily, místo opětovného čtení celého textu kvůli hledání úprav.
- Porovnávání dvou konceptů smlouvy: právní opravy je často snazší přehlédnout jako diff po řádcích než jako sledované změny, když byl dokument mezi verzemi přeformátován.
- Kontrola konfiguračního souboru po nasazení: vložte stav před/po souboru .env nebo YAML k potvrzení, že se změnily jen zamýšlené řádky.
- Porovnávání revizí přeloženého textu: zjistěte, které řádky překladatel nebo editor skutečně upravil mezi koncepty.
Omezení, o kterých je dobré vědět
Toto je diff na úrovni řádků, ne na úrovni slov — pokud přesunete odstavec z horní části dokumentu na spodní bez změny jeho textu, zobrazí se to jako úplné odstranění plus úplné přidání, ne jako anotace "přesunuto". Pro texty bohaté na odstavce, kde se u každé věty mění jen několik slov, by nástroj diff na úrovni slov zvýraznil méně textu, ale diff na úrovni řádků je standardem pro kód, konfigurace a strukturované dokumenty a je to, na co se tento nástroj zaměřuje.
Jak funguje porovnávací algoritmus
Nástroj najde nejdelší společnou podposloupnost (LCS) mezi oběma texty — největší sadu řádků, které se objevují ve stejném relativním pořadí v obou verzích, i když byly mezi nimi vloženy nebo odstraněny jiné řádky. Vše v této společné podposloupnosti se zobrazuje jako nezměněný kontext; vše ostatní je klasifikováno buď jako odstraněné (přítomné pouze v originále), nebo přidané (přítomné pouze v nové verzi). Toto je stejný základní algoritmus stojící za unixovým nástrojem diff a porovnáváním po řádcích v Gitu, což je důvod, proč bude výstupní formát okamžitě povědomý, pokud jste kdy revidovali pull request.
Jeden praktický důsledek: pokud je řádek zdvojen jinde v dokumentu (přesně stejný text se objevuje dvakrát), algoritmus ho spáruje s tím výskytem, který zachová celkový diff nejmenší — občas produkující mírně odlišné párování, než byste intuitivně čekali, ačkoli konečné počty přidaných/odstraněných řádků jsou vždy přesné bez ohledu na to, který duplikát byl spárován s kterým.
Časté dotazy
Porovnává to slovo po slovu nebo řádek po řádku?
Řádek po řádku, jako git diff. Změněný řádek se zobrazuje jako jedno odstranění plus jedno přidání. Diffy na úrovni řádků jsou standardem pro kód a konfigurace a zůstávají čitelné i u velkých textů.
Proč se malá změna zobrazí jako celý změněný řádek?
Protože jednotkou porovnání je řádek — jakákoli změna uvnitř označí celý řádek. Rozdělte dlouhé odstavce na kratší řádky, pokud potřebujete jemnější rozlišení.
Záleží na mezerách?
Ano. Řádky musí přesně odpovídat, takže koncová mezera nebo odlišné odsazení způsobí, že jsou řádky počítány jako odlišné. Toto je záměrné — rozdíly v mezerách jsou skutečnými rozdíly v kódu a konfiguracích.
Existuje limit velikosti?
Žádný pevný limit, ale velmi velké texty (desítky tisíc řádků) mohou trvat chvíli, protože porovnání probíhá lokálně na vašem zařízení.
Nahrávají se moje texty kvůli porovnání?
Ne. Algoritmus diff běží zcela ve vašem prohlížeči pomocí JavaScriptu. Oba texty zůstávají na vašem zařízení — bezpečné pro smlouvy, interní dokumenty a nezveřejněný kód.