Por Anónimo (no verificado) , 29 Abril 2026

Por qué diffs personalizados

El diff predeterminado de Git es línea por línea de texto. Para formatos binarios (PDF, DOCX, imágenes) y texto estructurado donde los diffs por línea no son útiles (JS minificado, dumps SQL generados), los drivers de diff personalizados producen algo que los humanos pueden leer.

Drivers de lenguaje incorporados

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

Definir un driver personalizado

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

Diff a nivel de palabra para prosa

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

Anular detección binaria

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

Ejemplo real: dumps SQL

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

Errores comunes

Drivers configurados en ~/.gitconfig son locales — los colegas no ven diff. Documenta la instalación.

Diff externo completo

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