Atom文本编辑器将"^ M"添加到空行

Iva*_*ong 15 git atom-editor

Atom文本编辑器将此符号添加到每个空行.

知道什么和为什么?

在此输入图像描述

Poc*_*and 15

我在Ubuntu Linux上注意到^ M(回车,换行)期间git diff.

不知何故,在状态栏的底部选择了CRLF:

CRLF在Atom状态栏中

我只需点击它并改为LF:

原子状态栏中的LF

它似乎是逐个文件设置的,因此需要针对每个问题文件进行更改.


在我的情况下,所有的线条结尾都被改变了,所以git diff是一片红色的海洋.我使用以下内容来识别"真正的"变化:

git diff --ignore-space-at-eol
Run Code Online (Sandbox Code Playgroud)

但是,git commit仍然会在提交历史中隐藏"真正的"更改,因此我:

  1. git stash save
  2. 在原子中改变了行尾
  3. git commit -am "fix line endings"
  4. git stash apply

现在行结束已经消失,并且可以在精确的差异上进行提交.


Rom*_*sev 4

您在 Windows 下使用 Atom 文本编辑器吗?
Windows 中是回车,\r\n而 Unix 中是回车\n
^M(0xD\r) 是 Windows 中的回车符。
我认为,该文件之前是在 Unix 下保存的(并且\n每行都已经有),因此 Atom 是\r根据 Windows 的要求添加的。

欲了解更多信息,你可以看到这个这个

  • Atom 将在状态栏右下角显示它正在使用哪一行结尾。请参阅插件[文档](https://github.com/atom/line-ending-selector)。在那里更改它会修改该文件的行结尾。在“设置 > 包 > 行结束选择器”中,您还可以设置新文件的默认行结束。 (5认同)