Da Anonimo (non verificato) , 29 Aprile 2026

Perche diff personalizzati

Il diff predefinito di Git e riga per riga sul testo. Per formati binari (PDF, DOCX, immagini) e testo strutturato dove i diff per riga non aiutano, i driver diff personalizzati producono qualcosa che gli umani possono leggere.

Driver di linguaggio integrati

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

Definire un driver personalizzato

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

Diff a livello parola per la prosa

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

Override del rilevamento binario

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

Esempio reale: dump SQL

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

Errori comuni

Driver configurati in ~/.gitconfig sono locali — i colleghi non vedono diff. textconv pesanti senza cachetextconv rallentano ogni diff.

Diff esterno totalmente

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