crlf 和 lf 是文本换行的不同方式:
crlf
: "\r\n", windows 系统的换行方式
lf
: "\n", Linux 系统的换行方式
他们之间的不同经常会导致不同会导致使用不同系统的同事之间的代码冲突问题。
在你使用 git 拉取代码的时候,git 会自动将代码当中与你当前系统不同的换行方式转化成你当前系统的换行方式,从而造成这种冲突。
window 系统解决办法:
- 修改 git 全局配置,禁止 git 自动将 lf 转换成 crlf, 命令:
git config --global core.autocrlf false
- 修改编辑器的用户配置,例如 vscode
"files.eol": "\n", // 文件换行使用lf方式