Vou jogar esta solução lá fora. Git fará isso. Veja este post sobre isso
Então, teoricamente, você poderia fazer isso para converter uma árvore inteira
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
Mude crlf
para lf
se você quiser ir para o outro lado. NOTA: você ainda não terminou, continue lendo
Digite git status
para ver quais arquivos serão afetados. Pode ser necessário adicionar linhas como
*.jpg binary
*.png binary
*.gif binary
etc para .gitattributes
evitar a conversão de certos arquivos. Você também pode marcar explicitamente certos arquivos como texto
*.md text
*.css text
Em seguida, basta repetir essas 2 linhas depois de editar .gitattributes
git rm --cached -r .
git reset --hard
Em seguida, use git status
novamente para ver quais arquivos serão alterados. Quando tiver certeza de que todos os arquivos que você deseja afetar estão listados git status
, confirme
git add .
git commit -m "normalize line endings"
agora verifique todos os arquivos novamente
git rm --cached -r .
git reset --hard
Agora eles devem ter quaisquer que sejam os finais de linha desejados.
** NOTA: Se você já estava usando o git, pule os 3 primeiros comandos. Se você não estava usando o git, agora pode excluir o .gitattributes
arquivo e a .git
pasta.
** Faça backup dos seus arquivos: git rm --cached -r
eles serão excluídos (embora eles estejam teoricamente no seu repositório git (a pasta .git), que é como eles são restaurados pelo último comando git reset --hard
. acima.