如何让Git在Linux上将CRLF文件转换为LF?

时间:2015-02-14 01:32:44

标签: linux git line-endings git-config

我尝试做一些非常简单的事情:检查一个具有CRLF结尾(并且没有.gitattributes)文件的repo,最后得到本机(LF)行结尾。我甚至不愿意退回。

我已阅读Github's suggestionTim 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行结尾的组合。

1 个答案:

答案 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?”。