1、提示内容解析
这个警告是 Git 在处理文本文件时的换行符转换提示,主要和不同操作系统的换行符差异有关:
- LF(Line Feed) :是 Unix/Linux/macOS 系统的换行符(
\n) - CRLF(Carriage Return + Line Feed) :是 Windows 系统的换行符(
\r\n)
2、警告原因:
Git 有一个自动转换换行符的机制(默认开启):
- 当你在 Windows 系统中提交文件时,Git 会自动将文件中的 CRLF 转换为 LF 存储到版本库中
- 当你从版本库检出文件到 Windows 系统时,Git 会自动将 LF 转换回 CRLF
当你提交的文件(如 db/create_table_01.sql)中包含 LF 换行符时,Git 会提示 “将 LF 替换为 CRLF”。当你在本地电脑选择了linux的换行符,通过git提交,被误替换为windows操作系统的换行符,在linux服务器执行sql文件时,会由于换行符的原因报错。
3、如何处理?
配置换行符行为,修改 Git 配置:
- 全局配置(适用于所有仓库) :
bash
# 关闭自动转换 git config --global core.autocrlf false