LINUX.ORG.RU

В Git проблема с окончанием строк файлов

 ,


0

1

У меня следующая проблема:

Поставил для git настройки: core.autocrlf input и core.safecrlf true так как они считаются наиболее подходящими для моего Линукса

Теперь не могу даже сделать add, потому что выдает ошибку fatal: CRLF would be replaced by LF in file.php И это первый файл. А в той папке что мне надо прокомитить, наверное все файлы в CRLF. Пишут что их надо поправить сторонней программой.

Я думаю, стоит ли вообще париться этими всеми окончаниями строк. Ведь для выполнения файлов вообще не имеет это значение. А те, кто будет клонировать репозиторий с Виндовс, то в них по умолчанию настроено превращать все в CRLF, а для Линукса не имеет значения.

Так может поставить лучше: core.autocrlf false и core.safecrlf false, и не париться этим? Или потом могут какие-то конфликты возникнуть?

Git по умолчанию сам умеет определять и конвертировать, только правильный конфиг нужен (под Windows при установке ничего лишнего не тыкать, а под GNU/Linux в конфиг лишнего не писать). Под Windows при git checkout будет выдавать файлы с CRLF на конце,а под GNU/Linux - с LF. Утилиты dos2unix, unix2dos конвертируют из одного формата в другой.

backbone ★★★★★ ()
Последнее исправление: backbone (всего исправлений: 2)

Добавь --force.

Ругнется на окончание строк, но отработает до конца.

Radjah ★★★★★ ()
Ответ на: комментарий от backbone

Так и сделал. Зашел в терминале в папку проекта и ввел

find . -type f -exec dos2unix {} \;
После этого все коммитится.

boanro ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.