Intermédiaire · 4 min de lecture
Fins de ligne : LF, CRLF et .gitattributes
Pourquoi un fichier apparaît entièrement modifié alors que tu n'y as pas touché.
Le problème
Windows termine les lignes par CRLF, Linux et macOS par LF. Mélange les deux et chaque ligne paraît modifiée dans le diff.
Régler la question pour toute l'équipe
Un fichier .gitattributes à la racine l'emporte sur la config personnelle de chacun. Stocke le texte en LF, et déclare les fichiers binaires.
Sans risque
$ printf '* text=auto eol=lf\n*.png binary\n' > .gitattributes
Corriger les fichiers déjà commités
Renormalise tout une fois, dans un commit dédié.
Sans risque
$ git add --renormalize .$ git commit -m "chore: normalize line endings"