如何用Git清理行结尾

时间:2013-10-21 07:51:34

标签: git eol

我对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以避免将来出现这种情况?

2 个答案:

答案 0 :(得分:2)

尝试其中一项(取决于您的操作系统):

// Windows
git config --global core.autocrlf true

// Linux, OSX
git config --global core.autocrlf input

答案 1 :(得分:1)

正如我mentioned before,我更喜欢:

无论您选择何种解决方案,请查看“Trying to fix line-endings with git filter-branch, but having no luck”以修复您当前的索引 特别是,测试removal of the .git/index file,然后测试git reset