Je vais jeter cette solution là-bas. Git va le faire. Voir ce post à ce sujet
Donc, théoriquement, vous pouvez le faire pour convertir un arbre entier
cd root/of/tree
git init .
git add .
git commit -m "initial commit"
echo "* text eol=crlf" > .gitattributes
git rm --cached -r .
git reset --hard
Changer crlf
en lf
si vous voulez aller dans l'autre sens. NOTE: vous n'avez pas encore fini, continuez à lire
Tapez git status
pour voir quels fichiers seront affectés. Vous devrez peut-être ajouter des lignes comme
*.jpg binary
*.png binary
*.gif binary
etc pour .gitattributes
éviter de convertir certains fichiers. Vous pouvez également marquer explicitement certains fichiers en tant que texte
*.md text
*.css text
Ensuite, il suffit de répéter ces 2 lignes après avoir édité .gitattributes
git rm --cached -r .
git reset --hard
Puis utilisez à git status
nouveau pour voir quels fichiers seront modifiés. Quand vous êtes sûr que tous les fichiers que vous voulez affecter sont listés par git status
puis commit
git add .
git commit -m "normalize line endings"
maintenant vérifier tous les fichiers à nouveau
git rm --cached -r .
git reset --hard
Ils devraient maintenant avoir quelle que soit la fin de votre ligne souhaitée
** NOTE: Si vous utilisiez déjà git, ignorez les 3 premières commandes git. Si vous n'utilisiez pas git, vous pouvez maintenant supprimer le .gitattributes
fichier et le .git
dossier.
** Sauvegardez vos fichiers: ils les git rm --cached -r
suppriment tous (bien qu’ils soient théoriquement dans votre dépôt git (le dossier .git), c’est comment ils sont restaurés par la dernière commande git reset --hard
. C’est juste parce que les fichiers sont supprimés qu’il est probablement préférable de les sauvegarder. up.