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

LF将被CRLF取代

这种转变的后果是什么?


当前回答

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

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

[core]
       autocrlf = input
       safecrlf = false

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

其他回答

如何使Git忽略不同的行结束

http://www.rtuin.nl/2013/02/how-to-make-git-ignore-different-line-endings/(不工作)

您可以完全禁用CRLF行为,或者通过更改.gitattributes文件中的条目来禁用每个文件类型。在我的例子中,我写的是: crlf 这告诉Git忽略所有文件的行结束符。并且不会更改工作目录中的文件。即使你有核心。自专制设置为true, false或输入。

echo "* -crlf" > .gitattributes

在单独提交时执行此操作,否则当您进行单个更改时,Git可能仍然会看到整个文件被修改(取决于您是否更改了selflf选项)。

这个真的有用。Git将尊重混合行结束项目中的行结束符,而不会就此警告您。

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

unix2dos filename

or

dos2unix -D filename

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

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

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

在GNU/Linux shell提示符中,dos2unix和unix2dos命令允许您轻松地转换/格式化来自MS Windows的文件。

从~/。gitattributes文件,

* text = auto

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

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

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

[core]
       autocrlf = input
       safecrlf = false

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