0

我有一个可以在我的 linux 机器上正常运行的文件,当我将 repo 拉到我的 windows 机器上时,该文件是完整且正确的。

但是,当我启动我的 vagrant 服务器时,它有一个虚拟驱动器连接到我的 windows 机器,我在浏览器中收到一个 javascript 错误,如下所示:

Uncaught SyntaxError: Unexpected end of input 

当我检查文件时,最后几行不见了,我看到:

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

在文件的末尾。

我已经查看了来自 github ( https://help.github.com/articles/dealing-with-line-endings ) 的“autocrlf”指令,它的效果为零。

我实际上不确定发生了什么......但我该如何解决它?

4

1 回答 1

1

创建一个 .gitattributes 文件,其中包含在 git checkout上将文本文件(自动检测到的)从 CRLF ( \r\n) 转换为 LF ( ) 的规则。\n

* text=auto eol=lf

您需要执行 git checkout 才能使这些更改生效。

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"

就是这样——您的 CRLF EOL 字符将转换为 LF(并将保持这种状态)。如果您有任何问题,请告诉我!

于 2015-02-19T01:00:09.683 回答