关于 LF will be replaced by CRLF 问题出现的原因以及解决方式
出现这个问题的原因是像缓存区中提交文件时出现的原因windows中的换行符为 CRLF而在Linux下的换行符为LF所以在执行add . 时出现提示也就是工作区的文件都应该用 CRLF 来换行。如果改动文件时引入了 LF,提交改动时git 会警告你哪些文件不是纯 CRLF 文件但 git 不会擅自修改工作区的那些文件而是对暂存区我们对工作区的改动进行修改。也因此当我们进行 git add 的操作时只要 git 发现改动的内容里有 LF 换行符就还会出现这个警告。git工作区默认为CRLF来作为换行符所以当我们项目文件里有用的地方使用LF作为换行符这个时候我们再继续git add 或则git commit的时候就会弹出警告当最终push到远程仓库的时候git会统一格式全部转化为用CRLF作为换行符解决方式情况一Git 可以在你提交时自动地把回车CR和换行LF转换成换行LF而在检出代码时把换行LF转换成回车CR和换行LF。 你可以用git config --global core.autocrlf true来打开此项功能。 如果是在 Windows 系统上把它设置成 true这样在检出代码时换行会被转换成回车和换行#提交时转换为LF检出时转换为CRLF $ git config --global core.autocrlf true情况二如果使用以换行LF作为行结束符的 Linux 或 Mac你不需要 Git 在检出文件时进行自动的转换。然而当一个以回车CR和换行LF作为行结束符的文件不小心被引入时你肯定想让 Git 修正。 所以你可以把 core.autocrlf 设置成 input 来告诉 Git 在提交时把回车和换行转换成换行检出时不转换这样在 Windows 上的检出文件中会保留回车和换行而在 Mac 和 Linux 上以及版本库中会保留换行。#提交时转换为LF检出时不转换 $ git config --global core.autocrlf input情况三如果你是 Windows 程序员且正在开发仅运行在 Windows 上的项目可以设置 false 取消此功能把回车保留在版本库中#提交检出均不转换 $ git config --global core.autocrlf false你也可以在文件提交时进行safecrlf检查#拒绝提交包含混合换行符的文件 git config --global core.safecrlf true #允许提交包含混合换行符的文件 git config --global core.safecrlf false #提交包含混合换行符的文件时给出警告 git config --global core.safecrlf warn建议遇到了这种问题可以直接忽略对我们整体工作不会造成影响
