Ich werde diese Lösung da draußen werfen. Git wird das tun. Siehe diesen Beitrag dazu
Theoretisch könnten Sie so einen ganzen Baum konvertieren
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
Wechseln Sie crlfzu, lfwenn Sie den anderen Weg gehen möchten. HINWEIS: Sie sind noch nicht fertig, lesen Sie weiter
Geben Sie ein, um git statuszu sehen, welche Dateien betroffen sind. Möglicherweise müssen Sie Zeilen wie hinzufügen
*.jpg binary
*.png binary
*.gif binary
usw., .gitattributesum das Konvertieren bestimmter Dateien zu vermeiden. Sie können bestimmte Dateien auch explizit als Text markieren
*.md text
*.css text
Dann wiederholen Sie einfach diese 2 Zeilen, nachdem Sie bearbeitet haben .gitattributes
git rm --cached -r .
git reset --hard
Verwenden Sie dann git statuserneut, um zu sehen, welche Dateien geändert werden. Wenn Sie sicher sind, dass alle Dateien, die betroffen sein sollen, bis git statusdahin aufgeführt sind, übernehmen Sie die Festschreibung
git add .
git commit -m "normalize line endings"
Jetzt checke alle Dateien nochmal aus
git rm --cached -r .
git reset --hard
Sie sollten nun die von Ihnen gewünschten Zeilenenden haben
** HINWEIS: Wenn Sie git bereits verwendet haben, überspringen Sie die ersten 3 Befehle. Wenn Sie git nicht verwendet haben, können Sie jetzt die .gitattributesDatei und den .gitOrdner löschen .
** Sichern Sie Ihre Dateien: die git rm --cached -rLöschungen sie alle (obwohl sie theoretisch in Ihrem git Repo (der .git Ordner) , die ist , wie sie durch den letzten Befehl gestellt bekommen git reset --hardEs ist nur da Dateien gelöscht werden immer es ist wahrscheinlich am besten , sie zu unterstützen . oben.