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

git warning: LF will be replaced by CRLF in 解决办法

windows(hexo)使用git时出现:warning: LF will be replaced by CRLF