我尝试做一些非常简单的事情:检查一个具有CRLF结尾(并且没有.gitattributes)文件的repo,最后得到本机(LF)行结尾。我甚至不愿意退回。
我已阅读Github's suggestion和Tim Clem's article,但大部分内容都是针对Windows开发人员的。
我试过这个:
$ git config --global core.autocrlf=input
$ git clone https://github.com/DennisSchiefer/Project-OSRM-Web.git
但是没有 - 我关心的文件OSRM.Config.js仍然有CRLF结尾。
尝试core.autocrlf=true
没有帮助。
即使添加并提交.gitattributes
文件(然后git rm --cached -r . && git reset --hard
)也无济于事。
我无法找到任何实际上会在此文件中留下LF行结尾的组合。
答案 0 :(得分:1)
core.autocrlf
会强制git处理所有文本文件。
如果没有处理OSRM.Config.js,那就意味着Git认为它是二进制的 参见:
即使.gitattributes
与*.js text
一起使用,仍会保留crlf
。
但是使用*.js eol=lf
,实际上会强制转换。
请参阅“Can git's .gitattributes
treat all files as binary except a few exceptions?”。