Zwei Texte vergleichen
Kostenloser Online-Text-Diff, der in Ihrem Browser läuft. Fügen Sie zwei Texte (Code, Prosa, JSON, irgendwas) in die linken und rechten Bereiche ein und das Tool markiert, was sich geändert hat: rotes Durchgestrichenes im Original, Grün im Geänderten. Wählen Sie Zeile-für-Zeile, Wort-für-Wort oder Zeichen-für-Zeichen Granularität und wechseln Sie zwischen Nebeneinander-, Unified- (GitHub-Stil) oder Inline-Ansicht. Das Diff wird mit einem Myers-artigen Algorithmus in reinem JavaScript berechnet, sodass selbst mehrere Megabyte große Eingaben sofort wirken.
Verwendung
Original links, geändert rechts.
Nebeneinander zum Review, unified zum Teilen, inline für Prosa.
Rot — Original (gelöscht), grün + neu (hinzugefügt), grau = unverändert.
Leerraum ignorieren wenn Formatierung Rauschen ist; Groß-Klein ignorieren wenn nicht wichtig.
Diff von zwei Text- oder Code-Stücken mit Zeilen-, Wort- oder Zeichen-Granularität — im Browser
Was Sie tun können
Typische Anwendungen
- Sehen, was sich zwischen zwei Versionen einer Config vor dem Deploy geändert hat.
- Eine Absatz-Neuschreibung mit Wort-Granularität reviewen um genau zu sehen welche Wörter sich bewegt haben.
- Zwei JSON-Antworten vergleichen um einen unerwarteten Feld-Unterschied zu finden.
- Eine Copy-Paste-Edit vor Commit gegen das Original prüfen.
- Einen sauberen Unified-Diff erzeugen zum Teilen in Chat oder Code Review.
Warum dieser
Die meisten Online-Diffs machen nur Zeilen-Diff und rendern nur nebeneinander. Das verpasst, was sich geändert hat, wenn sich nur ein Wort in einer Zeile bewegt. Wir berechnen den inneren Wort/Zeichen-Diff nach dem Zeilen-Diff, sodass Umordnungen und kleine Edits präzise sichtbar werden. Der Myers-artige Algorithmus läuft in reinem JavaScript innerhalb der Seite.
Häufige Fragen
Warum wird der Vergleich zweier großer Dateien langsam?
Weil das Auffinden der kleinsten Änderungsmenge zwischen zwei Texten im schlechtesten Fall mit dem Produkt ihrer Längen wächst und nicht mit der Summe. Zwei Dateien, die den größten Teil ihres Inhalts teilen, vergleichen sich unabhängig von der Größe schnell, denn der Algorithmus kann lange Strecken zuordnen und überspringen. Der teure Fall sind zwei Dateien mit wenig Gemeinsamem — ein neu geschriebenes Dokument, ein neu formatierter Quellbestand —, und daher rührt das lange Warten. Zwei Dinge helfen unmittelbar: die Körnung von Zeichen auf Zeilen umstellen, was die Zahl der verglichenen Einheiten um eine Größenordnung senkt, und Leerraum ignorieren einschalten, wenn der Unterschied, um den es geht, nicht die Einrückung ist.
Welcher Algorithmus?
Ein Myers-Stil Longest-Common-Subsequence (LCS) Diff — dieselbe Familie, die GNU diff und git verwenden. Für Wort-/Zeichen-Granularität in geänderten Zeilen führen wir denselben Algorithmus auf den Tokens dieser Zeile erneut aus.
Warum sieht mein Code-Diff mit ausgeschaltetem "Leerraum ignorieren" falsch aus?
Tabs vs Spaces, nachgestellter Leerraum und CRLF-Zeilenenden zählen als echte Unterschiede wenn "Leerraum ignorieren" aus ist. Schalten Sie die Option an wenn Sie nur Inhalt-Änderungen interessieren.
Kann ich den Diff kopieren?
Die unified-Ansicht ist Klartext — auswählen und kopieren. Die nebeneinander-Ansicht ist HTML; der sauberste Export ist Wechsel zu unified.
Machen wir — und zwar! Schreiben Sie uns kurz Ihre Idee. Wenn Sie sie im Detail besprechen möchten, hinterlassen Sie eine E-Mail-Adresse, wir melden uns. Anonym geht auch.