在windows下执行git add . 时出现很多类似如下的警告
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_pka.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_pwr.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_rcc.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_rng.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_rtc.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_sdmmc.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_spi.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_swpmi.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_tim.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usart.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.c', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.c', LF will be replaced by CRLF the next time Git touches it
警告含义是当前工作区里的文件都是"LF"结尾, 但现在Git配置的是core.autocrlf = true
所以下次GIt检出或者重写这些文件时, 会自动把LF转换成CRLF
然后git出现大量的提醒, 就是将来会执行这些转换.
为了不影响代码, 进行如下配置
git config --global core.autocrlf false
git config --global core.safecrlf warn
然后统一项目使用 LF 行尾
在项目根目录执行
git rm --cached -r . # 清空index
git reset --hard # 重新checkout所有文件
然后重新执行
git status
git add .
warning会全部消失
另外一种方式就是在项目根目录建立.gitattributes文件, 在其中添加
* text=auto eol=lf