Text Diff Checker
Vergleiche zwei Texte oder Code-Schnipsel Zeile für Zeile. Hinzugefügte, entfernte und geänderte Zeilen werden hervorgehoben, bis hin zu den Wörtern, die sich unterscheiden.
Läuft im BrowserOhne AnmeldungKein Upload
Anleitung: Text Diff Checker
- Füge links den Originaltext und rechts den geänderten Text ein oder öffne zwei Dateien.
- Der Vergleich aktualisiert sich beim Tippen. Wähle die Ansicht Nebeneinander oder Unified.
- Aktiviere Leerraum ignorieren, Groß-/Kleinschreibung ignorieren oder Leerzeilen ignorieren, um Rauschen wie neue Einrückungen auszublenden.
- Mit Unverändertes ausblenden konzentrierst du dich auf die Änderungen, jeweils mit drei Zeilen Kontext.
- Klicke auf Als Patch kopieren oder .diff herunterladen, um ein Standard-Unified-Diff zu erhalten, das du mit
git applyoderpatchanwenden kannst.
So funktioniert dieser Diff Checker
Das Tool teilt beide Eingaben in Zeilen auf und führt den Myers-Diff-Algorithmus aus, denselben O(ND)-Algorithmus, den git diff und GNU diff verwenden. Er findet die kürzeste Folge von Einfügungen und Löschungen, die das Original in den geänderten Text überführt, sodass das Ergebnis möglichst wenige geänderte Zeilen zeigt. Identische Zeilen am Anfang und Ende werden vorab übersprungen, wodurch Vergleiche von Dateien mit Tausenden Zeilen nahezu sofort fertig sind.
Stehen eine entfernte und eine hinzugefügte Zeile direkt nebeneinander, werden sie als geänderte Zeile gepaart und noch einmal Wort für Wort verglichen. Die tatsächlich geänderten Wörter werden stärker hervorgehoben, sodass eine umbenannte Variable oder eine geänderte Zahl in einer langen Zeile sofort auffällt.
Ansicht nebeneinander vs. Unified
Nebeneinander zeigt das Original links und die neue Version rechts, jeweils mit Zeilennummern. Diese Ansicht eignet sich am besten, um Fließtext, Konfigurationsdateien und kleine Codeänderungen zu prüfen. Die Unified-Ansicht verschränkt entfernte (-) und hinzugefügte (+) Zeilen in einer Spalte, das Format von Code-Review-Tools und Patch-Dateien.
Unified-Diff-Format (Patch)
Der exportierte Patch folgt dem Format von diff -u: ein ---/+++-Header, danach Hunks, die mit @@ -l,s +l,s @@ beginnen, wobei l die erste Zeilennummer und s die Anzahl der Zeilen des Hunks in jeder Datei ist. Jeder Hunk enthält drei Zeilen unveränderten Kontext, sodass er mit patch -p0 oder git apply angewendet werden kann, selbst wenn sich Zeilen in der Nähe verschoben haben.
Wann die Ignorieren-Optionen sinnvoll sind
- Leerraum ignorieren behandelt Zeilen als gleich, die sich nur in Leerzeichen oder Tabs unterscheiden. Nützlich nach dem Neueinrücken von Code oder dem Umstellen von Tabs auf Leerzeichen.
- Groß-/Kleinschreibung ignorieren ist praktisch für SQL, HTML und Logdateien, bei denen die Schreibweise keine Rolle spielt.
- Leerzeilen ignorieren blendet Zeilen aus, die nur als Abstand hinzugefügt oder entfernt wurden.