Textjämförelse (Diff Checker)
Jämför två texter eller kodsnuttar rad för rad. Tillagda, borttagna och ändrade rader markeras, ända ner till de exakta ord som skiljer sig.
Körs i din webbläsareIngen registreringInget laddas upp
Så använder du Textjämförelse (Diff Checker)
- Klistra in originaltexten till vänster och den ändrade texten till höger, eller öppna två filer.
- Jämförelsen uppdateras medan du skriver. Välj vyn Sida vid sida eller Enhetlig.
- Kryssa i Ignorera blanksteg, Ignorera skiftläge eller Ignorera tomma rader för att dölja brus som ändrad indentering.
- Använd Dölj oförändrade för att fokusera på ändringarna med tre rader kontext runt varje.
- Klicka på Kopiera som patch eller Ladda ner .diff för att få en vanlig unified diff som du kan applicera med
git applyellerpatch.
Så fungerar diff-verktyget
Verktyget delar upp båda texterna i rader och kör Myers differensalgoritm, samma O(ND)-algoritm som används av git diff och GNU diff. Den hittar den kortaste följden av infogningar och borttagningar som förvandlar originalet till den ändrade texten, så resultatet visar så få ändrade rader som möjligt. Identiska rader i början och slutet hoppas över först, vilket gör att jämförelser av filer med tusentals rader går nästan omedelbart.
När en borttagen rad och en tillagd rad ligger intill varandra paras de ihop som en ändrad rad och jämförs igen ord för ord. De ord som faktiskt ändrats får en starkare markering, så att en omdöpt variabel eller ett ändrat tal syns tydligt även i en lång rad.
Sida vid sida eller enhetlig vy
Sida vid sida visar originalet till vänster och den nya versionen till höger, med radnummer för båda. Det är den enklaste vyn för att granska löptext, konfigurationsfiler och korta kodändringar. Den enhetliga vyn blandar borttagna (-) och tillagda (+) rader i en kolumn, det format som används av kodgranskningsverktyg och patchfiler.
Formatet unified diff (patch)
Den exporterade patchen följer formatet diff -u: ett ---/+++-huvud följt av block (hunks) som börjar med @@ -l,s +l,s @@, där l är första radnumret och s antalet rader i blocket i respektive fil. Varje block innehåller tre rader oförändrad kontext, så det kan appliceras med patch -p0 eller git apply även om närliggande rader har flyttats.
När ska du använda ignorera-alternativen?
- Ignorera blanksteg behandlar rader som lika om de bara skiljer sig i mellanslag eller tabbar. Använd det efter att ha indenterat om kod eller bytt tabbar mot mellanslag.
- Ignorera skiftläge är praktiskt för SQL, HTML och loggfiler där versaler och gemener inte spelar någon roll.
- Ignorera tomma rader döljer rader som bara lagts till eller tagits bort som luft.