Par Anonyme (non vérifié) , 29 avril 2026

Ce que fait gitattributes

.gitattributes applique des paramètres par chemin : fins de ligne, drivers de diff et merge, filtres d'export, déclarations d'encodage. Contrairement à .gitignore, les attributes s'appliquent aux fichiers suivis et sont honorés par toute l'équipe.

Fins de ligne

# .gitattributes
* text=auto
*.sh text eol=lf
*.bat text eol=crlf
*.png binary

core.autocrlf vs gitattributes

core.autocrlf est un fallback par développeur. Gitattributes fait autorité et est partagé.

Export-ignore

tests/      export-ignore
.github/    export-ignore
.gitignore  export-ignore
Makefile    export-ignore

Export-subst

VERSION export-subst

Dans VERSION : $Format:%H %ci$.

Encodage de l'arbre de travail

*.cs working-tree-encoding=UTF-16LE-BOM
*.txt working-tree-encoding=Shift_JIS

Drivers de filtre

[filter "redact"]
clean  = sed 's/SECRET=.*/SECRET=***REDACTED***/'
smudge = cat
*.env filter=redact

Macros

[attr]docfile diff=markdown export-ignore
README.md docfile

Erreurs courantes

Ajouter * text=auto sans renormaliser laisse des fins de ligne mixtes dans le repo.