我对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以避免将来出现这种情况?
答案 0 :(得分:2)
尝试其中一项(取决于您的操作系统):
// Windows
git config --global core.autocrlf true
// Linux, OSX
git config --global core.autocrlf input
答案 1 :(得分:1)
正如我mentioned before,我更喜欢:
.gitattributes
files。无论您选择何种解决方案,请查看“Trying to fix line-endings with git filter-branch, but having no luck”以修复您当前的索引
特别是,测试removal of the .git/index
file,然后测试git reset
。