¿Cómo corrijo EOF incorrecto en git / vagrant?

Tengo un file que se ejecuta correctamente en mi máquina Linux y cuando retiro el repository en mi máquina de Windows, el file está intacto y correcto.

Sin embargo, cuando reinicio mi server vagrant, que tiene una unidad virtual en mi máquina de Windows, obtengo un error de javascript en el browser como este:

Uncaught SyntaxError: Unexpected end of input 

Cuando inspecciono el file, las últimas líneas se han ido y veo:

 ???????????????????????? 

al final del file.

Ya he repasado las instrucciones de 'autocrlf' de github ( https://help.github.com/articles/dealing-with-line-endings ) y no tuvo ningún efecto.

No estoy seguro de lo que está pasando … ¿pero cómo lo arreglo?

Cree un file .gitattributes con una regla que convierta files de text (que se detecten automáticamente) de CRLF ( \r\n ) a LF ( \n ) en git checkout.

 * text=auto eol=lf 

Tendrá que hacer un pago por git para que estos cambios entren en vigencia.

 git add . -u git commit -m "Saving files before refreshing line endings" git rm --cached -r . git reset --hard git add . # It is perfectly safe to see a lot of messages here that read # "warning: CRLF will be replaced by LF in file." git commit -m "Normalize all the line endings" 

Eso es todo: tus caracteres CRLF EOL se convierten a LF (y se mantendrán de esa manera). ¡Hazme saber si tienes alguna pregunta!