【发布时间】:2013-10-21 07:51:34
【问题描述】:
我对 Git 相当缺乏经验,这让我很困惑:
我刚刚将我的工作副本切换到另一个分支(一个简单的git checkout master),然后,git status 立即告诉我数百个更改的文件。然而,这都是关于行尾的。 git diff --ignore-space-at-eol 给了我很多警告:
warning: CRLF will be replaced by LF in src/.../somefile.js.
The file will have its original line endings in your working directory.
我通常认为在版本控制的文本文件中使用 DOS 样式的行结尾是个坏主意,但这是它们一开始就提交的内容;我是在 Linux 机器上做的,我得到的文件有 CRLF 行结尾。
在我的情况下,最好的清理方法是什么?我应该更改每个文件的行尾并提交吗?
如何配置 Git 以避免将来出现此类情况?
【问题讨论】:
-
如前所述,Git 能够使用
core.autocrlf设置自动处理提交时的行尾问题。这个 question 有一个很好的答案,可以帮助您确定该选项是否适合您。 -
好的,第二部分已经回答了——在很多地方,正如我所见。至于我的问题的第一部分,似乎没有解决方案,只能提交经过清理的数据(CRLF 文件来自克隆的 Github 存储库)并希望最好。