Wyrzucę tam to rozwiązanie. Git to zrobi. Zobacz ten post na ten temat
Teoretycznie możesz to zrobić, aby przekonwertować całe drzewo
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
Zmień crlf
na, lf
jeśli chcesz iść w drugą stronę. UWAGA: jeszcze nie skończyłeś, czytaj dalej
Wpisz, git status
aby zobaczyć, które pliki zostaną zmienione. Może być konieczne dodanie linii takich jak
*.jpg binary
*.png binary
*.gif binary
itp., aby .gitattributes
uniknąć konwersji niektórych plików. Możesz także wyraźnie oznaczyć niektóre pliki jako tekst
*.md text
*.css text
Następnie po prostu powtórz te 2 wiersze po zakończeniu edycji .gitattributes
git rm --cached -r .
git reset --hard
Następnie użyj git status
ponownie, aby zobaczyć, które pliki zostaną zmienione. Gdy masz pewność, że wszystkie pliki, których dotyczy problem, zostaną wyświetlone, git status
a następnie zatwierdź
git add .
git commit -m "normalize line endings"
teraz sprawdź ponownie wszystkie pliki
git rm --cached -r .
git reset --hard
Powinny mieć teraz dowolne pożądane zakończenia linii
** UWAGA: Jeśli już korzystałeś z git, pomiń pierwsze 3 polecenia git. Jeśli nie korzystałeś z git, możesz teraz usunąć .gitattributes
plik i .git
folder.
** Twórz kopie zapasowe plików: git rm --cached -r
usuwa je wszystkie (chociaż teoretycznie znajdują się one w twoim repozytorium git (folderze .git), w taki sposób są przywracane przez ostatnie polecenie git reset --hard
. Właśnie dlatego, że pliki są usuwane, prawdopodobnie najlepiej jest je wykonać w górę.