Tekstien vertailu (Diff Checker)

Vertaa kahta tekstiä tai koodinpätkää rivi riviltä. Lisätyt, poistetut ja muuttuneet rivit korostetaan aina tarkkoihin eroaviin sanoihin asti.

Toimii selaimessaEi rekisteröitymistäMitään ei lähetetä

Liitä teksti molempiin kenttiin nähdäksesi erot.

Näin käytät työkalua: Tekstien vertailu (Diff Checker)

  1. Liitä alkuperäinen teksti vasemmalle ja muutettu teksti oikealle, tai avaa kaksi tiedostoa.
  2. Vertailu päivittyy kirjoittaessasi. Valitse näkymäksi Rinnakkain tai Yhtenäinen.
  3. Valitse Ohita tyhjätila, Ohita kirjainkoko tai Ohita tyhjät rivit piilottaaksesi häiriöt, kuten uudelleensisennyksen.
  4. Käytä Piilota muuttumattomat -valintaa keskittyäksesi muutoksiin, joiden ympärillä näytetään kolme kontekstiriviä.
  5. Napsauta Kopioi patchina tai Lataa .diff saadaksesi standardin unified diffin, jonka voit ottaa käyttöön komennolla git apply tai patch.

Miten tämä diff-työkalu toimii

Työkalu jakaa molemmat syötteet riveiksi ja ajaa Myersin erotusalgoritmin, saman O(ND)-algoritmin, jota git diff ja GNU diff käyttävät. Se löytää lyhimmän lisäysten ja poistojen sarjan, joka muuttaa alkuperäisen tekstin muutetuksi, joten tulos näyttää mahdollisimman vähän muuttuneita rivejä. Identtiset alku- ja loppurivit ohitetaan ensin, mikä pitää tuhansien rivien tiedostojen vertailun lähes välittömänä.

Kun poistettu ja lisätty rivi ovat vierekkäin, ne yhdistetään muokatuksi riviksi ja verrataan uudelleen sana sanalta. Oikeasti muuttuneet sanat korostetaan vahvemmin, joten uudelleennimetty muuttuja tai muokattu numero erottuu pitkänkin rivin sisältä.

Rinnakkainen vs. yhtenäinen näkymä

Rinnakkain-näkymä asettaa alkuperäisen vasemmalle ja uuden version oikealle, rivinumeroineen molemmille. Se on helpoin näkymä proosan, asetustiedostojen ja lyhyiden koodimuutosten tarkasteluun. Yhtenäinen näkymä lomittaa poistetut (-) ja lisätyt (+) rivit yhteen sarakkeeseen, kuten koodikatselmointityökalut ja patch-tiedostot.

Unified diff (patch) -muoto

Viety patch noudattaa diff -u -muotoa: ---/+++-otsake ja sen jälkeen lohkot (hunks), jotka alkavat @@ -l,s +l,s @@, missä l on ensimmäinen rivinumero ja s lohkon rivien määrä kummassakin tiedostossa. Jokainen lohko sisältää kolme muuttumatonta kontekstiriviä, joten sen voi ottaa käyttöön komennolla patch -p0 tai git apply, vaikka lähellä olevat rivit olisivat siirtyneet.

Milloin ohitusasetuksia kannattaa käyttää

  • Ohita tyhjätila käsittelee rivit samoina, jos ne eroavat vain välilyönneiltä tai sarkaimilta. Käytä sitä koodin uudelleensisennyksen tai sarkainten välilyönneiksi vaihtamisen jälkeen.
  • Ohita kirjainkoko on kätevä SQL-, HTML- ja lokitiedostoille, joissa isoilla ja pienillä kirjaimilla ei ole väliä.
  • Ohita tyhjät rivit piilottaa rivit, jotka on lisätty tai poistettu vain välistykseksi.

Usein kysytyt kysymykset

Lähetetäänkö tekstini jonnekin?
Ei. Vertailu tapahtuu kokonaan selaimessasi JavaScriptillä. Mitään liittämääsi ei lähetetä palvelimelle, joten voit turvallisesti verrata yksityistä koodia, sopimuksia tai asetustiedostoja.
Kuinka suuria tekstit voivat olla?
Kymmenien tuhansien rivien tiedostot vertaillaan tavallisella kannettavalla selvästi alle sekunnissa. Koska algoritmin työmäärä kasvaa erojen määrän mukaan, kaksi valtavaa, täysin erilaista tiedostoa vie eniten aikaa.
Voinko verrata kahta tiedostoa liittämisen sijaan?
Kyllä. Lataa paikallinen tiedosto kunkin kentän yläpuolella olevalla Avaa tiedosto -painikkeella. Selaimesi lukee tiedoston, eikä sitä koskaan lähetetä.
Miksi rivi näytetään poistettuna ja lisättynä eikä muokattuna?
Rivit yhdistetään ”muokatuiksi” vain, kun poistettujen rivien lohko on suoraan lisättyjen rivien lohkon vieressä. Jos riveillä on hyvin vähän yhteistä tekstiä, sanatason korostus ohitetaan, koska se olisi sekavampi kuin koko rivin näyttäminen muuttuneena.
Miten vertaan JSON-objekteja?
Käytä JSON Diff -työkalua. Se vertaa jäsennettyä rakennetta, joten avainten järjestys ja muotoilu eivät aiheuta vääriä eroja, ja se listaa tarkat muuttuneet polut.

Aiheeseen liittyvät työkalut