2015-02-14 4 views
3

Я пытаюсь сделать что-то очень просто: проверьте репо, в котором есть файлы окончаний CRLF (и нет .gitattributes), и в итоге заканчиваются натурные (LF) строки. Я даже не хочу возвращаться.Как получить Git для преобразования файлов CRLF в LF, в Linux?

Я читал 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 в этом файле.

ответ

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?".

+0

Среди других строк в моих .gitattributes: '* .js text' –

+0

@SteveBennett' text' означает 'crlf diff', например' binary' означает '-crlf -diff' (http://stackoverflow.com/a/4264522/6309) matbe try '* .js text lf diff'? – VonC

+0

@SteveBennett или '* .js eol = lf' – VonC