windows下解决Git报错: LF will be replaced by CRLF the next time Git touches it

问题

在命令行执行git add *的时候,提示Warning

windows下解决Git报错: LF will be replaced by CRLF the next time Git touches it_第1张图片
通常情况下是在 Windows环境中才会遇到。

原因

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

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

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

解决

在Git中,可以通过以下命令来显示当前你的Git中采取哪种对待换行符的方式:
git config core.autocrlf

此命令会有三个输出,“true”,“false”或者“input”

  1. 为true时,Git会将你add的所有文件结尾的CRLF转换为LF,而拉到本地时会再将文件的LF格式转为CRLF格式。

  2. 为false时,不做任何改变,文本文件保持其原来的样子。

  3. 为input时,add时Git会把CRLF转换为LF,而check时仍旧为LF,所以Windows操作系统不建议设置此值。

设置

  1. git config --global core.autocrlf true,适用于Windows系统,且一般为Windows默认设置。
  2. git config --global core.autocrlf input,适用于Linux系统
  3. git config --global core.autocrlf false,适用于Windows系统,且只在Windows上开发的情况。( 嫌警告烦可以设置此选项 )

其他

文件提交时进行safecrlf检查

#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true

#允许提交包含混合换行符的文件
git config --global core.safecrlf false

#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn

Linux中查看换行符

cat -A命令就可以查看文件换行符了,或者vim也可以。

Windows换行符转换为Linux格式

  1. 使用命令"dos2unix",没有可以用yum安装
  2. vim 打开 set ff=unix 则可以将Windows 换行符转换为Linux换行符。(ff的全称为file encoding)

你可能感兴趣的:(git,git,windows,linux)