答案 0 :(得分:15)
我在Ubuntu Linux上注意到Access-Control-Allow-Origin
期间的^ M(回车,换行)。
以某种方式在状态栏的底部选择了CRLF:
我只需点击它并改为LF:
它似乎是逐个文件设置的,因此需要针对每个问题文件进行更改。
在我的情况下,所有的行结尾都被改变了,所以git diff
是一片红色的海洋。我使用以下内容来识别“真正的”变化:
git diff
然而,git diff --ignore-space-at-eol
仍会掩盖提交历史中的“真实”更改,因此我:
git commit
git stash save
git commit -am "fix line endings"
现在行结束已经消失,并且可以在精确的差异上进行提交。
答案 1 :(得分:4)
您是否在Windows下使用Atom文本编辑器?
Windows回车为\r\n
,而在Unix中为\n
^M
(0xD
或\r
)是Windows中的回车符
我想,该文件以前是在Unix下保存的(并且每行都有\n
),因此Atom根据Windows的要求添加\r
。
答案 2 :(得分:2)
答案 3 :(得分:1)
我在网上找到的大多数解决方案都涉及使用sed,vi或emacs。我找到了一个直接在Atom(可能是任何文本编辑器)中工作的解决方案,不需要命令行。
选择所有返回,或者在每行的开头获取一个选择器然后删除并点击返回。它可能需要一秒钟,但它将摆脱所有的^ M字符。
这可能会搞砸你的缩进,但你可以自动缩进。如果您需要使用多个文件,这可能效率不高,但对于一个文件来说,这是一个快速而又脏的解决方案。