Ich werde diese Lösung da draußen werfen. Git wird das tun. Siehe diesen Beitrag darüber
Theoretisch könnten Sie also 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
Ändern 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 sein werden. Möglicherweise müssen Sie Zeilen wie hinzufügen
*.jpg binary *.png binary *.gif binary
etc, .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, beim git status
Commit aufgeführt sind
git add . git commit -m "normalize line endings"
Überprüfen Sie nun alle Dateien erneut
git rm --cached -r . git reset --hard
Sie sollten nun die 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öscht sie alle (obwohl sie theoretisch in Ihrem git repo (dem .git-Ordner) sind. Dadurch werden sie mit dem letzten Befehl wiederhergestellt git reset --hard
. Da Dateien gelöscht werden, ist es wahrscheinlich am besten, sie zu sichern oben.