LF will be replaced by CRLF in README.md

README.md文件中的LF将被CRLF取代

1.基本含义

1.1  Uinx/Linux采用换行符LF表示下一行(LF:LineFeed,中文意思是换行)\n

2.Dos和Windows采用回车+换行CRLF表示下一行(CRLF:CarriageReturn LineFeed,中 \n文意思是回车换行)\r\n

3.Mac OS采用回车CR表示下一行(CR:CarriageReturn,中文意思是回车)\r

2.原因

 不同的系统存在换行符号转义不一致,windows上的换行[ \r\n ] 到linux上就会多个[ \r ] ,显示为 [ ^M ],

linux上 vim -b filename  可以看到 [ ^M ]

3.解决方案

3.1 假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这些情况下

$ git config --global core.autocrlf true

Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:

3.2 Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换:

$ git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

3.3 如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:

$ git config --global core.autocrlf false

3.4 如果window中的CRLF已经提交到linux上,删除^M的方法

sed -i 's/^M//g' filename

其中^M的输入方式为 ctrl+v +m 

你可能感兴趣的:(LF will be replaced by CRLF in README.md)