git warning: LF will be replaced by CRLF
Posted uakora
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git warning: LF will be replaced by CRLF相关的知识,希望对你有一定的参考价值。
【问题】:在使用Git提交代码时,出现“warning:LF will be replaced by CRLF”警告
问题出在不同操作系统所使用的换行符是不一样的,下面罗列一下三大主流操作系统的换行符:
- Uinx/Linux采用换行符LF表示下一行(LF:LineFeed,中文意思是换行);
- Dos和Windows采用回车+换行CRLF表示下一行(CRLF:CarriageReturn LineFeed,中文意思是回车换行);
- Mac OS采用回车CR表示下一行(CR:CarriageReturn,中文意思是回车)。
在Git中,可以通过以下命令来显示当前Git中采取哪种对待换行符的方式
$ git config core.autocrlf
此命令会有三个输出,“true”,“false”或者“input”
- 为true时,Git会将要提交的文件视为文本文件,将行尾(line endings)的CRLF转换为LF,而检出时会再将文件的LF格式转为CRLF格式
- 为false时,行尾不做任何改变,文件换行符保持其原来的格式
- 为input时,Git会将要提交文件行尾的CRLF转换为LF,而检出时不做处理
工作原理:
core.autocrlf=true: core.autocrlf=input: core.autocrlf=false: repo repo repo ^ v ^ v ^ v / / / crlf->lf lf->crlf crlf->lf / / / /
或
autocrlf=true: X -> LF -> CTLF autocrlf=input: X -> LF -> LF autocrlf=false: X -> X -> X
说明:
X代表换行符CRLF(windows-style)或LF(unix-style)
第一个箭头表示本地提交到远程仓库,第二个箭头表示从远程仓库检出到本地
(注:上述三种选项不会影响CR格式的换行符)
警告出现的场景(under Windows):
— autocrlf = true ,使用unix-style LF换行符的文件
— autocrlf = input ,使用win-style CRLF换行符的文件
— autocrlf = false ,NEVER!
警告代表的意思:
“LF will be replaced by CRLF”:autocrlf=true,进行“commit-checkout”操作后,相应警告文件中 LF 换行符将被 CRTL 替换
“CRLF will be replaced by LF”:autocrlf=input,进行“commit-checkout”操作后,相应警告文件中 CTLF 换行符将被 LF 替换
-----------------------------------------------
参考文档:
https://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf
https://blog.csdn.net/h330531987/article/details/90761143
以上是关于git warning: LF will be replaced by CRLF的主要内容,如果未能解决你的问题,请参考以下文章
git warning: LF will be replaced by CRLF in 解决办法
git warning: LF will be replaced by CRLF in 解决办法
warning: LF will be replaced by CRLF 问题解决
git warning: LF will be replaced by CRLF