参考本人另外一篇文章:https://blog.csdn.net/w8y56f/article/details/126012346
参考本人另外一篇文章:https://blog.csdn.net/w8y56f/article/details/126012369
参考本人另外一篇文章:https://blog.csdn.net/w8y56f/article/details/126023439
结论:core.autocrlf 的默认值是false,core.safecrlf默认值是warn
* 对于Windows,安装的过程会让你选择core.autocrlf,如果你一直点击 "下一步" 指定的就是true。如果删掉这个system配置,表现出来的行为就是false
* 对于Windows对于core.safecrlf,安装过程不会指定,也查不到这个配置,默认值是warn。
参考资料:https://stackoverflow.com/questions/39408793/git-core-autocrlf-line-ending-default-setting
https://github.com/git/git/blob/936d1b989416a95f593bf81ccae8ac62cd83f279/environment.c#L48
https://github.com/git/git/blob/936d1b989416a95f593bf81ccae8ac62cd83f279/environment.c#L52
core.autocrlf
true: 提交时改成LF,检出时改成CRLF
input:提交时改成LF,检出时不改
false:提交时是什么就是什么,不改换行符,检出时也不改 (默认值)
core.safecrlf
true: 拒绝提交包含混合换行符的文件 (会提示 Fatal:xxx)
false: 允许提交包含混合换行符的文件
warn: 提交包含混合换行符的文件时给出警告 (默认值)
请仔细阅安装过程中的截图,这里已经很详细地解释了core.autocrlf的行为

git config --global core.autocrlf truegit config --global core.autocrlf input(强烈建议:显式指定配置值!显式指定!显式指定!显式指定!显式指定!显式指定!显式指定!)
对于这个配置,没什么推荐的。保持默认也是可以的。
你能保证你的团队全部人都用Windows吗?现在能保证,未来能保证吗?你的程序部署到Windows服务器吗?
如果不能,最好的方案就是Windows用户设置全局变量core.autocrlf=true,Mac/Linux用户设置为 core.autocrlf=input,这样提交到远程仓库的都统一是LF,然后clone下来的又是各自平台的。
对于你公司的已有的代码,其实挺麻烦的,可能存在以前不规范导致仓库上的代码会出现部分CRLF部分LF的情况,所以这些事情一开始就要做好,否则补救的代价就很大了