Qu'est-ce que core.autocrlf ?
C'est un réglage Git qui convertit les fins de ligne entre votre système (CRLF sous Windows, LF ailleurs) et le dépôt.
Les éléments clés à connaître pour maîtriser core.autocrlf :
1 Valeurs de core.autocrlf et effets
Détermine comment Git convertit EOL à l'entrée/sortie.
input - Checkout: inchangé | Commit: CRLF→LF
false - Aucune conversion
2 Fins de ligne selon les plateformes
Comprendre les codes pour éviter les confusions.
CRLF (13,10) - Windows
CR (13) - Ancien macOS (legacy)
3 .gitattributes et normalisation des EOL
Précisez la politique de fin de ligne au niveau du repo :
4 Mécanismes Git associés
Options utiles pour sécuriser vos conversions :
Problèmes classiques
Clonage et diff massif sans vrai changement
Un mauvais réglage provoque la conversion de milliers de lignes (LF↔CRLF).
Scripts et containers cassés par ^M
Un fichier .sh en CRLF déclenche “/bin/sh^M: bad interpreter”.
Boucles de formatage à chaque commit
Prettier/Linters réécrivent les fins de ligne en continu, l’historique devient bruyant.
CI verte en local, rouge sur le serveur
Des tests passent sous Windows mais échouent en Linux à cause des EOL.
Exemple de problème courant :
Symptômes qui doivent vous alerter
🚨 Signaux d'alarme
Comment les détecter
✨ Solution recommandée : .gitattributes + core.autocrlf
Définissez les fins de ligne une fois pour toutes avec .gitattributes et ajustez core.autocrlf selon votre équipe. Git appliquera les conversions de manière cohérente, quel que soit l’OS.
✅ Normalisation contrôlée
text=auto, eol=lf/crlf, fichiers binaires protégés
📊 Inspection facile
git ls-files --eol pour voir l’état réel des EOL
🧹 Renormalisation
git add --renormalize . pour aligner tout l’historique
💾 Cohérence d’équipe
Même rendu de fichiers sur Windows, macOS et Linux
Autres méthodes de détection
Affichage dans l'éditeur
En ligne de commande (Unix)
En code
JavaScript
Python
Excel / Google Sheets
Nettoyer et prévenir
🚀 Solution rapide avec .gitattributes
Avant toute manipulation manuelle, posez un .gitattributes clair et renormalisez le dépôt pour repartir proprement.
Méthodes techniques avancées
🔧 Normaliser
🧹 Filtrer
-text pour éviter toute conversion
core.safecrlf=true pour bloquer des mélanges CRLF/LF
⚙️ Automatiser
git ls-files --eol et échouez sur anomalies
Checklist rapide
Conclusion
Les retours de ligne ne devraient jamais polluer vos commits. En cadrant core.autocrlf et .gitattributes, vous supprimez une grande source de bruit et d'erreurs.
Fixez des règles simples, renormalisez une fois, automatisez les contrôles et vos équipes collaborent sans friction entre OS.
Stabilisez vos fins de ligne avec core.autocrlf
Définissez .gitattributes, ajustez core.autocrlf et renormalisez pour des diffs propres et des builds fiables.
Mettre en place la configuration