在一台Windows机器上,我使用git add添加了一些文件。 我收到警告说:

LF将被CRLF取代

这种转变的后果是什么?


当前回答

git config core.autocrlf false

其他回答

unix2dos和dos2unix都可以在Windows Git Bash上使用。可以使用以下命令进行UNIX (LF)→DOS (CRLF)转换。因此,您将不会得到警告。

unix2dos filename

or

dos2unix -D filename

但是,不要在任何现有的CRLF文件上运行这个命令,因为这样每隔两行就会得到空换行符。

dos2unix -D文件名不适用于所有操作系统。请检查此链接的兼容性。

如果出于某种原因你需要强制执行命令,那么使用——force。如果它表示无效,则使用-f。

我只是犯了同样的错误。 这是在Windows 10上安装NVM NVM后发生的。

在所有级别设置autoclrf都不起作用。

在CMD中我使用:“git ls-files——eol”

i/lf    w/crlf  attr/             src/components/quotes/ExQuoteForm.js
i/lf    w/lf    attr/             src/components/quotes/HighlightedQuote.js

结论:

我做的文件有不同的结局。

要更改文件和重置,请执行

git config core.autocrlf false
git rm --cached -r .
git reset --hard

尽管:

在一些项目中,我需要删除存储库并重新启动它。

如果您已经签出了代码,那么文件就已经建立了索引。在更改Git设置后,运行以下命令:

git config --global core.autocrlf input

您应该使用

git rm --cached -r .

并重写Git索引

git reset --hard

注意:这将删除您的本地更改。在你这么做之前考虑把它们藏起来。


来源:配置Git处理行结束符

它应该是:

警告:(如果你检出/或克隆到另一个文件夹与你当前的核心。如果为true,)LF将被CRLF所取代 该文件将在您的(当前)工作目录中有其原始的行结束符。

这张图可以解释它的意思。

在Vim中,打开文件(例如::e YOURFILEENTER),然后

:set noendofline binary
:wq