windows 下git出现警告:warning: LF will be replaced by CRLF in test1.txt. The file will have its original
- 1.问题
- 2.原因
- 3.解决方法
- (1) 使用 input
- (2) 单独window系统使用
1.问题
git在执行git add命令时出现以下警告:
2.原因
因为Git的换行符检查功能。LF是linux下的换行符,而CRLF是enter + 换行。
Git提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符。这个功能的选项如下:
false - 不做任何检查
warn - 在提交时检查并警告
true - 在提交时检查,如果发现混用则拒绝提交
建议使用最严格的 true 选项。
$ git config --global core.autocrlf true
3.解决方法
(1) 使用 input
Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换:
$ git config --global core.autocrlf input
这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。
(2) 单独window系统使用
如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:
$ git config --global core.autocrlf false