Da Anonimo (non verificato) , 29 Aprile 2026

Cosa fa gitattributes

.gitattributes applica impostazioni per percorso: fine riga, driver diff e merge, filtri di export, dichiarazioni di codifica e comportamento di merge. A differenza di .gitignore, gli attributi si applicano ai file tracciati.

Fine riga

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

Dopo aver aggiunto questo file, eseguire git add --renormalize ..

core.autocrlf vs gitattributes

core.autocrlf e fallback per sviluppatore. Gitattributes e autorevole e condiviso.

Export-ignore

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

Export-subst

VERSION export-subst

Codifica del working tree

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

Driver di filtro

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

Macro

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

Errori comuni

Aggiungere * text=auto senza rinormalizzare lascia fini riga miste nel repo.