6

我对 Git 非常缺乏经验,这让我感到困惑:

我刚刚将我的工作副本切换到另一个分支(一个简单的git checkout master),然后立即git status告诉我数百个更改的文件。然而,这都是关于行尾的。agit 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 以避免将来出现此类情况?

4

2 回答 2

2

正如我之前提到的,我更喜欢:

无论您选择哪种解决方案,请查看“尝试使用 git filter-branch 修复行尾,但没有运气”来修复您当前的索引。
特别是,测试文件的删除.git/index,然后是git reset.

于 2013-10-21T08:14:18.967 回答
2

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

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

// Linux, OSX
git config --global core.autocrlf input
于 2013-10-21T07:54:39.710 回答