Как хранить файлы с окончаниями строк CR-LF в git? - PullRequest
2 голосов
/ 12 января 2012

Я занимаюсь разработкой программного обеспечения под Linux, которое будет компилироваться с использованием компилятора только для Windows.Я хочу, чтобы git сохранял мои файлы с окончаниями строк CR-LF в репозитории в Linux, чтобы иметь возможность упаковывать исходники, не меняя их на стиль Windows.

My .gitattributes выглядит так:

*.cpp eol=crlf
*.h   eol=crlf

Я тоже уже пробовал core.eol = crlf.Но git все еще использует окончания строк LF, когда я делаю извлечения и фиксирую в Linux.

Есть ли способ сказать, что git использует CR-LF в Linux?

Ответы [ 2 ]

0 голосов
/ 08 июля 2015

Я только что попробовал это [Linux;git version 2.1.0] И насколько я могу видеть, что он работает со следующими настройками:

$ cat .gitattributes 
.gitattributes  text
.gitignore  text
*.cpp       text
*.h     text

$ cat ~/.gitconfig 
...
[core]
    autocrlf = false
    safecrlf = true
    eol  = crlf

В этой конфигурации git разрешает только файлы crlf в базу данных и выдает фатальную ошибку для lf on git add.

Удалите настройку safecrlf и теперь git add работает, но теперь вы получаете предупреждение для lf-файлов.

Теперь rm проверенный файл и reset --hard дает файл crlf - независимо от того, был ли он отмечен как lf или crlf.

Я подозреваю: у вас уже проверено в LF-файлах, и теперь git дает их.

Пожалуйста, попробуйте с указанными выше настройками на новом репо и сообщите нам, если он работает.

0 голосов
/ 12 января 2012

Компилятор только для Windows отключается из-за окончания строки только для lf?Если нет, оставьте значение false.

вам нужно только установить для автоматического crlf значение true в репо, которое настроит рабочее дерево для компилятора.

...