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

LF将被CRLF取代

这种转变的后果是什么?


当前回答

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

unix2dos filename

or

dos2unix -D filename

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

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

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

其他回答

从~/。gitattributes文件,

* text = auto

将防止Git首先检查行结束符。

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

:set noendofline binary
:wq

在notepad++中打开文件。 进入菜单编辑→EOL转换。 单击Windows格式。 保存文件。

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

unix2dos filename

or

dos2unix -D filename

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

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

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

我认为Basiloungas的答案很接近,但已经过时了(至少在Mac上)。

打开~/。并将safecrlf设置为false:

[core]
       autocrlf = input
       safecrlf = false

*显然会使它忽略行char的结尾(它对我来说是有效的)。