Voy a lanzar esta solución por ahí. Git hará esto. Ver esta publicación al respecto
Entonces, teóricamente, podrías hacer esto para convertir un árbol completo
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
Cambie crlf
a lf
si quiere ir por el otro lado. NOTA: aún no has terminado, sigue leyendo
Escriba git status
para ver qué archivos se verán afectados. Puede que tenga que agregar líneas como
*.jpg binary
*.png binary
*.gif binary
etc para .gitattributes
evitar la conversión de ciertos archivos. También puede marcar explícitamente ciertos archivos como texto
*.md text
*.css text
Luego solo repita estas 2 líneas después de haber editado .gitattributes
git rm --cached -r .
git reset --hard
Luego, use git status
nuevamente para ver qué archivos se cambiarán. Cuando esté seguro de que todos los archivos que desea afectar se enumeran para git status
luego confirmar
git add .
git commit -m "normalize line endings"
ahora revise todos los archivos nuevamente
git rm --cached -r .
git reset --hard
Ahora deberían tener cualesquiera que sean sus finales de línea deseados
** NOTA: Si ya estaba usando git, omita los primeros 3 comandos comandos de git. Si no estaba usando git ahora puede eliminar el .gitattributes
archivo y la .git
carpeta.
** Haga una copia de seguridad de sus archivos: los git rm --cached -r
elimina a todos (aunque en teoría están en su repositorio de git (la carpeta .git), así es como se restauran con el último comando git reset --hard
. Es solo que, dado que los archivos se eliminan, probablemente sea mejor respaldarlos arriba.