Text-Diff/ Zeilenweise

Zeilenweise Unterschiede zwischen zwei Texten hervorheben. Unterstützt Code und Klartext mit konfigurierbaren Kontextzeilen. Völlig lokal.

OriginalA
GeändertB
Kontext
Diff

Fügen Sie Text in beide Panels oben ein.

Hat dieses Tool Ihr Problem gelöst?

Was ist ein Text-Diff-Tool

Ein Text-Diff-Tool verwendet den LCS-Algorithmus (Längste gemeinsame Teilsequenz) zum zeilenweisen Vergleich zweier Texte und identifiziert Ergänzungen, Löschungen und Änderungen.

Gängige Anwendungsfälle für Diff-Tools

Code-Review: Codeänderungen vergleichen. Konfigurationsmanagement: Konfigurationen über Umgebungen hinweg vergleichen. Dokumentenzusammenarbeit: Bearbeitungsverlauf anzeigen. Datenmigration: DatenTransformation überprüfen.

Code-Beispiele

JavaScript (jsdiff)
import { diffLines } from 'diff';

const a = 'foo\nbar\nbaz';
const b = 'foo\nqux\nbaz';

diffLines(a, b).forEach(part => {
  const sign = part.added ? '+' :
               part.removed ? '-' : ' ';
  process.stdout.write(sign + part.value);
});
Python
import difflib

a = ['foo\n', 'bar\n', 'baz\n']
b = ['foo\n', 'qux\n', 'baz\n']

# Unified diff (like git diff)
diff = difflib.unified_diff(
    a, b,
    fromfile='original',
    tofile='modified',
    n=3,  # context lines
)
print(''.join(diff))
Go
// github.com/sergi/go-diff
import (
  dmp "github.com/sergi/go-diff/
       diffmatchpatch"
)

d := dmp.New()
diffs := d.DiffMain(textA, textB, false)
patch := d.PatchMake(textA, diffs)
fmt.Println(d.PatchToText(patch))
Shell / CLI
# Unified diff with 3 context lines
diff -U 3 original.txt modified.txt

# Git-style diff (no git repo needed)
git diff --no-index \
  original.txt modified.txt

# Side-by-side view
diff --side-by-side \
  original.txt modified.txt

Häufig gestellte Fragen

Wie funktioniert der Diff-Algorithmus?
Das Tool verwendet den LCS-Algorithmus (Längste gemeinsame Teilsequenz) zum zeilenweisen Vergleich von Texten und findet das minimale Set von Ergänzungen und Löschungen — ähnlich dem Algorithmus von git diff.
Was bewirken Kontextzeilen?
Kontextzeilen steuern, wie viele unveränderte Zeilen um jeden geänderten Abschnitt angezeigt werden. 0 zeigt nur geänderte Zeilen; 3 zeigt 3 Zeilen vor und nach jeder Änderung; 'Alle' zeigt den vollständigen Text.
Welche Texttypen werden unterstützt?
Jeder Klartext wird unterstützt, einschließlich Code (JavaScript, Python, Go usw.), Konfigurationsdateien (JSON, YAML, TOML), Markdown-Dokumente und Protokolldateien.
Wird mein Inhalt an einen Server gesendet?
Nein. Die gesamte Verarbeitung erfolgt ausschließlich im Browser. Ihr Inhalt verlässt Ihr Gerät nie, was den Vergleich sensibler Konfigurationen sicher macht.
Wie kopiere ich die Diff-Ausgabe?
Klicken Sie auf die Schaltfläche 'Kopieren' oben rechts im Diff-Panel, um den einheitlichen Diff-Text in die Zwischenablage zu kopieren.
Was bewirkt die Tauschen-Schaltfläche?
Tauschen A↔B tauscht die Original- und Änderungspanels, sodass Sie den Diff aus der entgegengesetzten Richtung betrachten können.