Je vais jeter cette solution là. Git le fera. Voir cet article à ce sujet
Théoriquement, vous pourriez faire ceci pour convertir un arbre entier
cd répertoire/de/l'arbre
git init .
git add .
git commit -m "commit initial"
echo "* text eol=crlf" > .gitattributes
git rm --cached -r .
git reset --hard
Changez crlf
en lf
si vous voulez faire l'inverse. NOTE : vous n'avez pas encore terminé, continuez à lire
Tapez git status
pour voir quels fichiers seront affectés. Vous devrez peut-être ajouter des lignes comme
*.jpg binaire
*.png binaire
*.gif binaire
etc à .gitattributes
pour éviter de convertir certains fichiers. Vous pouvez également marquer explicitement certains fichiers en tant que texte
*.md texte
*.css texte
Ensuite, répétez ces 2 lignes après avoir modifié .gitattributes
git rm --cached -r .
git reset --hard
Utilisez ensuite git status
de nouveau pour voir quels fichiers seront modifiés. Lorsque vous êtes sûr que tous les fichiers que vous souhaitez affecter sont listés par git status
, alors commit
git add .
git commit -m "normalisation des fins de ligne"
vérifiez maintenant tous les fichiers à nouveau
git rm --cached -r .
git reset --hard
Ils auront maintenant les fins de ligne que vous désirez
** NOTE : Si vous utilisiez déjà git, passez les 3 premières commandes git. Si vous n'utilisiez pas git, vous pouvez maintenant supprimer le fichier .gitattributes
et le dossier .git
.
** Sauvegardez vos fichiers : la commande git rm --cached -r
les supprime tous (bien qu'ils soient théoriquement dans votre repo git (le dossier .git) ce qui les restaure avec la dernière commande git reset --hard
). C'est juste parce que des fichiers sont supprimés, il est probablement préférable de les sauvegarder.