【发布时间】:2016-05-01 07:57:43
【问题描述】:
【问题讨论】:
标签: git atom-editor
【问题讨论】:
标签: git atom-editor
【讨论】:
Settings > Packages > line-ending-selector 中,您也可以为新文件设置默认行结尾。
我在网上找到的大多数解决方案都涉及使用 sed、vi 或 emacs。我找到了一个直接在 Atom(可能还有任何文本编辑器)中工作的解决方案,不需要命令行。
选择所有的返回,或者在每一行的开头获取一个选择器,然后删除并点击返回。这可能需要一秒钟,但它会删除所有 ^M 字符。
这可能会破坏您的缩进,但您可以自动缩进。如果您需要处理多个文件,这可能效率不高,但对于一个文件来说,这是一种快速而肮脏的解决方案。
【讨论】:
我在 Ubuntu Linux 上,注意到 git diff 期间的 ^M(回车,换行)。
不知何故,在状态栏底部选择了 CRLF:
我只是简单地点击它并更改为LF:
它似乎是逐个文件设置的,因此需要针对每个问题文件进行更改。
在我的例子中,不知何故所有的行尾都被改变了,所以git diff 是一片红色的海洋。我使用以下内容来识别“真正的”变化:
git diff --ignore-space-at-eol
但是,git commit 仍然会隐藏提交历史中的“真实”更改,所以我:
git stash save
git commit -am "fix line endings"
git stash apply
现在行尾消失了,可以在精确的差异上进行提交。
【讨论】: