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 crlf
zu, lf
wenn Sie den anderen Weg gehen möchten. HINWEIS: Sie sind noch nicht fertig, lesen Sie weiter
Geben Sie ein, um git status
zu sehen, welche Dateien betroffen sind. Möglicherweise müssen Sie Zeilen wie hinzufügen
*.jpg binary
*.png binary
*.gif binary
usw., .gitattributes
um 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 status
erneut, um zu sehen, welche Dateien geändert werden. Wenn Sie sicher sind, dass alle Dateien, die betroffen sein sollen, bis git status
dahin 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 .gitattributes
Datei und den .git
Ordner löschen .
** Sichern Sie Ihre Dateien: die git rm --cached -r
Lö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 --hard
Es ist nur da Dateien gelöscht werden immer es ist wahrscheinlich am besten , sie zu unterstützen . oben.