Qu'est-ce que eol dans .gitattributes ?
L’attribut eol force le type de fin de ligne pour des chemins de fichiers.
Il garantit une représentation cohérente dans le dépôt et un checkout prévisible selon vos règles.
Les éléments essentiels à connaître sur les fins de ligne :
1 Les fins de ligne courantes
LF, CRLF et CR historique (rare) dans certains vieux fichiers.
2 Options Git liées aux EOL
core.autocrlf et core.eol influencent checkout/commit.
core.eol = native | lf | crlf
3 Règles .gitattributes utiles
Définissez le comportement par type de fichier pour des EOL fiables :
4 Détails techniques à connaître
Normalisation à l’index, checkout selon règles et config locale :
Problèmes classiques
Diffs qui montrent tout modifié
LF vs CRLF génère un changement de chaque ligne, rendant la review impossible.
Tests et snapshots qui cassent
Des snapshots générés en LF échouent sous Windows quand les fichiers sortent en CRLF.
Scripts shell ou Makefile qui plantent
Un CRLF parasite dans un script bash provoque un $'\r': command not found.
Rebase/merge plus conflictuels
Des EOL incohérents aggravent les conflits et brouillent les résolutions.
Exemple de problème courant :
Symptômes qui doivent vous alerter
🚨 Signaux d'alarme
Comment les détecter
✨ Solution recommandée : Clean ASCII
Clean ASCII met en évidence les fins de ligne et les caractères non standard. Collez un extrait de fichier et visualisez instantanément LF/CRLF et positions exactes pour corriger sans tâtonner.
✅ Détection automatique
Repère LF, CRLF, CR et mélange d’EOL dans un même fichier
📊 Analyse complète
Positions de lignes problématiques et recommandations .gitattributes
🧹 Nettoyage automatique
Conversion contrôlée vers LF ou CRLF selon votre besoin
💾 Export propre
Téléchargez la version normalisée prête à committer
Autres méthodes de détection
Affichage dans l'éditeur
end_of_line
En ligne de commande (Unix)
En code
JavaScript
Python
Excel / Google Sheets
Nettoyer et prévenir
🚀 Solution rapide avec Clean ASCII
Avant les gros refactors, utilisez Clean ASCII pour vérifier et normaliser en un clic vos fins de ligne. Idéal pour préparer une PR propre et éviter les relectures bruitées.
Méthodes techniques avancées
🔧 Normaliser
* text=auto puis forcez la renormalisation
git add --renormalize . puis commit explicite
*.sh text eol=lf)
🧹 Filtrer
core.autocrlf côté repo si vous fixez eol via attributs
dos2unix/unix2dos si nécessaire
-text
⚙️ Automatiser
git diff --check
end_of_line = lf par défaut)
Checklist rapide
* text=auto committé
eol=
git add --renormalize .)
end_of_line partagé
git diff --check
Conclusion
Les problèmes d’EOL coûtent du temps sans rien apporter. Avec .gitattributes eol, vous figez un comportement stable et supprimez des diffs parasites avant qu’ils n’atteignent vos PR.
Définissez vos règles, renormalisez et outillez vos équipes : vous évitez 80% des frictions liées aux fins de ligne.
Stabilisez vos fins de ligne avec .gitattributes eol
Utilisez notre outil pour vérifier et normaliser les EOL avant de committer.
Analyser mon texte