Pour ceux qui utilisent la version 2.16 ou supérieure, vous pouvez simplement utiliser :
git add --renormalize . # Update index with renormalized files
git status # Show the files that will be normalized
git commit -m "Introduce end-of-line normalization"
Ces instructions sont directement issues du gitattributs . Pour les versions plus anciennes, le docs (antérieures à la v2.12) fournissent une réponse différente :
rm .git/index # Remove the index to force git to
git reset # re-scan the working directory
git status # Show files that will be normalized
git add -u
git add .gitattributes
git commit -m "Introduce end-of-line normalization"
Faites cette séquence après avoir édité .gitattributes
.
Mise à jour
Il semble que certains utilisateurs aient eu des problèmes avec les instructions ci-dessus. Mise à jour de la documentation pour gitattributs (2.12 à 2.14) montre une nouvelle série d'instructions (après avoir modifié les fichiers .gitattributes) :
git read-tree --empty # Clean index, force re-scan of working directory
git add .
git status # Show files that will be normalized
git commit -m "Introduce end-of-line normalization"
Merci à @vossad01 pour avoir souligné ce point.
De plus, avec l'une ou l'autre solution, les fichiers de votre copie de travail conservent leurs anciennes fins de ligne. Si vous souhaitez les mettre à jour, assurez-vous que votre fichier l'arbre de travail est propre et l'utiliser :
git rm --cached -r .
git reset --hard
Maintenant les terminaisons de ligne seront correctes dans votre arbre de travail.