Von Gast (nicht überprüft) , 29 April 2026

Warum benutzerdefinierte Diffs

Git's Standard-Diff ist Zeile fur Zeile auf Text. Fur binare Formate (PDF, DOCX, Bilder) und strukturierten Text, bei dem Zeilen-Diffs nicht hilfreich sind, produzieren benutzerdefinierte Diff-Treiber etwas, das Menschen lesen konnen.

Eingebaute Sprachtreiber

# .gitattributes
*.py    diff=python
*.rs    diff=rust
*.go    diff=golang

Benutzerdefinierten Treiber definieren

[diff "exif"]
textconv = exiftool
cachetextconv = true
*.jpg diff=exif
*.png diff=exif

Wort-Diff fur Prosa

[diff "tex"]
wordRegex = "[^[:space:]\\\\]+"

Binar-Erkennung uberschreiben

*.svg   diff
*.pdf   -diff
*.bin   binary

Reales Beispiel: SQL-Dumps

[diff "sqldump"]
textconv = "sed 's/^INSERT INTO/\\nINSERT INTO/g'"

Haufige Fehler

Treiber in ~/.gitconfig sind lokal — Kollegen sehen kein Diff.

Vollstandig externer Diff

GIT_EXTERNAL_DIFF=meld git diff
git config diff.tool meld
git difftool