[git] -- warning: LF will be replaced by CRLF in app/app.iml. The file will have its original line endings in your working directory.

遇到这个错误,因为是git的换行符检查功能。之前代码是在MAC下,后来放在windows系统下,git add .的时候报这个错误。

core.safecrlf

git 提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符。

  • false --- 不做任何检查;
  • warn --- 在提交的时候检查并报告;
  • true --- 在提交时检查,如果发现混用则拒绝提交;

建议使用最严格的true选项。

core.autocrlf

如果用两台不同系统的电脑写程序,或者是与他人分工合作时,可能会遇到行尾结束符问题,这是因为windows使用回车和换行两个字符来结束一行;而Mac和Linux只使用换行一个字符。虽然是个小问题,但是会极大地扰乱跨平台协作。

Git 可以在你提交的时候自动的把行结束符 CRLF转换成LF,而且代码签出时把LF转换成CRLF。用core.autocrlf来打开此选项,如果是在Windows系统上 ,把它设置为true,这样当迁出代码时LF会被转换成CRLF:

Linux或Mac系统使用LF作为结束符,因此你不想在Git在迁出文件时进行自动转换;当一个以CRLF为行结束符的文件不小心被引入时肯定想进行修正,把 core.autocrlf 设置成input来告诉Git 在提交时把CRLF转换成LF,签出时不转换:

$ git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中

引用自:https://blog.csdn.net/feng88724/article/details/11600375

posted @ 2018-06-28 17:09  #Skye  阅读(1945)  评论(0编辑  收藏  举报