遇到这两个错误, 基本上都是叫你将 autocrlf 设置为 false. 但是我觉得这样很不妥。
如果你的源文件中是换行符是LF,而autocrlf=true, 此时git add就会遇到 fatal: LF would be replaced by CRLF 的错误。有两个解决办法:
1. 将你的源文件中的LF转为CRLF即可【推荐】
2. 将autocrlf 设置为 false
如果你的源文件中是换行符是CRLF,而autocrlf=input, 此时git add也会遇到 fatal: CRLF would be replaced by LF 的错误。有两个解决办法:
1. 将你源文件中的CRLF转为LF【推荐】
2. 将autocrlf 设置为true 或者 false
我的建议:在Mac上设置 autocrlf = input, 在Windows上设置autocrlf = true(默认值)。
----------------------------------------------------------------------------------------------------------------------------------
这样的话,
Windows:(true)
提交时,将CRLF 转成 LF再提交;
切出时,自动将LF 转为 CRLF;
MAC/Linux: (input)
提交时, 将CRLF 转成 LF再提交;
切出时,保持LF即可
这样即可保证仓库中永远都是LF. 而且在Windows工作空间都是CRLF, 在Mac/Linux工作空间都是LF.