Lf will be replaced by crlf что это

При выполнении команды git add . у Вас может возникнуть подобная ошибка. Давайте разберемся почему это происходит и как это исправить.
Итак, полностью ошибка может выглядеть следующим образом:
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in path/to/the/file.
Здесь всего-лишь говорится, что перенос строки будет дополнен возвратом каретки.
Если Вы работаете под ОС Linux или Mac OS, то убрать предупреждения можно этой командой:
$ git config —global core.autocrlf input
Если Вы работаете в Git один под Windows и просто хотите выключить эти предупреждения, то введите следующую команду:
git config core.autocrlf true
git config —global core.autocrlf true
Но по-правильному дожно быть так:
$ git config —global core.autocrlf false
Связанно это может быть с тем что переносы строк были в Unix-формате, когда дело происходило под Windows, например. Очень просто конвертировать переносы строк в Windows-формат помогает текстовый редактор Notepad++: Правка→EOL конверсия→Преобразовать в WIN-формат.
Git fatal: LF would be replaced by CRLF
Подскажите, как необходимо настроить git , чтобы избавиться от данной ошибки?
Отслеживать
11.5k 8 8 золотых знаков 42 42 серебряных знака 69 69 бронзовых знаков
задан 15 дек 2015 в 4:54
6,509 6 6 золотых знаков 39 39 серебряных знаков 78 78 бронзовых знаков
ассоциация: stackoverflow.com/q/20168639/2110496
13 апр 2017 в 4:31
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
скорее всего, в результате выполнения этого действия:
- Правка=>Формат Конца Строк=>Преобразовать в Win-формат (CRLF);
в файле всё-таки остался хотя бы один «одиночный» символ lf .
как необходимо настроить git что бы избавиться от данной ошибки?
совсем «избавиться» от сообщения можно, вернув значение по умолчанию:
$ git config --global core.safecrlf false
заменить же сообщение об ошибке на предупреждение можно так:
$ git config --global core.safecrlf warn
дополнительные сведения можно почерпнуть в man-странице git-config.
Отслеживать
ответ дан 15 дек 2015 в 8:10
aleksandr barakin aleksandr barakin
68k 218 218 золотых знаков 79 79 серебряных знаков 221 221 бронзовый знак
спасибо за ответ, на текущий момент в данном решении установил autocrlf в false . я тоже подумал о том что notepad++ что то пропустил но как узнать где я не придумал
15 дек 2015 в 8:14
если у вас есть «под рукой» операционная система gnu/linux, можно воспользоваться программой hexdump для просмотра файла в «шестнадцатиричном» виде: $ hexdump -C файл | less .
15 дек 2015 в 8:18
у меня Windows но в нем есть Far и возможно просмотреть в hex в нем тоже присутствует
15 дек 2015 в 8:23
Если вы работаете в jetBrains idea:

1) внизу справа, увидите такой значок
Здесь вы можете поменять формат для текущего файла на crlf , а затем повторить git push
2) Если хотите изменить формат всех файлов, то в верхнем меню идеи найдите:
File > Line Separators > CRLF.
Отслеживать
ответ дан 8 ноя 2017 в 10:53
Julia Usanova Julia Usanova
161 1 1 серебряный знак 2 2 бронзовых знака
git config core.autocrlf input
Отслеживать
ответ дан 1 ноя 2018 в 11:02
e36SkyRocket e36SkyRocket
329 3 3 серебряных знака 13 13 бронзовых знаков
Думаю настройки менять не стоит, сам использую такие же.
Akela_wolf на Habr (Git for Windows: работа с параметром core.autocrlf): «Если коротко: в Windows надо всегда ставить autocrlf=true. Это означает что в репозитории всегда будет храниться LF. А при извлечении из репозитория — произойдет преобразование в CRLF. И это обеспечит консистентность если в будущем появится еще один разработчик, работающий в Linux или MacOS. Или если даже единственный разработчик вдруг возьмет макбук/установит Linux и т.д. Остальное — как правило ненужная гибкость, которая востребована если вы точно понимаете что и зачем делаете.»
А чтоб ошибка «fatal: LF..» не появлялась, необходимо будет настроить редактор как уже здесь посоветовала Julia Usanova. В VS Code это делается так же просто.
Проверено — всё работает.
Эксперимент третий. Для начала немного предыстории. Git я использую под Windows (сборку msysgit) для переноса исходников из дома на работу. Но иногда получалась ситуация, когда приношу измененные исходники в главном репозитории, делаю git pull, чтобы обновить исходники в рабочей копии, команда без проблем выполняется, но затем, если даже ничего не трогать, то некоторые файлы помечаются как измененные. Я долго не мог понять в чем дело, просмотр изменений по сравнению с предыдущей версией показывал, что якобы изменились все строки в файлах, причем сами на себя. Команда git reset —hard ничего не меняла, даже откат изменений с помощью git checkout — ничего не давал, файлы оставались помечены как измененные. Сразу закралась мысль о переводах строк, но повторить ситуацию в лабораторных условиях, чтобы точно определить когда такое происходит, удалось только недавно, также случайно нашлось решение этой проблемы, но вопрос почему это происходит до сих пор открыт.
Just Code It
Поддержать проект: Компьютерная хоррор игра «EVIL TOWN» https://planeta.ru/campaigns/eviltown
LF will be replaced by CRLF in git — как исправить ошибку с помощью Notepad++ / GIT
Если вы хоть раз использовали GIT в Windows, то наверняка сталкивались с таким сообщением: «LF will be replaced by CRLF in git». Она возникает из-за того, что Windows использует для переноса строк и символ возврата каретки, и символ перехода на новую строку, в то время как в системах Mac и Linux используется только символ перехода на новую строку.

Данную проблему в некоторых случаях можно решить на уровне самого git-а с помощью команды :
$ git config --global core.autocrlf false
Но она не всегда может решить проблему, поэтому для исправления конкретного файла можно использовать бесплатный редактор Notepad++ таким образом:
- Откройте нужный файл в Notepad++
- В верхнем меню найдите вкладку «Правка»
- Выберите пункт «Формат конца строк» > «Преобразовать в Win-формат (CRLF)»
- Сохраните файл
Вот и всё. Теперь у git-а не будет возникать проблем с данным файлом.
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Не учитываются ошибки с окончаниями строк в хранилище #28
ghost opened this issue May 5, 2018 · 13 comments
Не учитываются ошибки с окончаниями строк в хранилище #28
ghost opened this issue May 5, 2018 · 13 comments
Comments
ghost commented May 5, 2018
- CR без LF. Файлы с такой ошибкой не попадают в индекс
- LF без CR. При рекомендуемых настройках возникает ошибка «fatal: LF would be replaced by CRLF»
Я после каждого получения данных из хранилища запускать скрипты на Python которые это фиксят
The text was updated successfully, but these errors were encountered:
marmyshev closed this as completed May 6, 2018
ghost commented May 7, 2018
Спорное решение, т.к. в определенный момент появится необходимость конвертировать хранилище в формат EDT, а там уже нужно правильное помещение окончаний строк.
pumbaEO commented May 7, 2018
Очень, очень странно использование git config core.autocrlf true без использования .gitattributes . 1С при выгрузки в исходники принудительно всегда выгружает модули с окончанием строк «CRLF», без разницы это в Windows или же в linux.
Collaborator
marmyshev commented May 8, 2018
Спорное решение, т.к. в определенный момент появится необходимость конвертировать хранилище в формат EDT
В чем спорность?
Это добавлено в 1.0.5 — а в этой версии уже по умолчанию конвертируется в формат EDT. (см. ветку develop)
marmyshev reopened this May 8, 2018
ghost commented May 8, 2018
То есть вы полагаетесь на то, что не важно как окончание строки LF попало в Git, преобразованием из CRLF или через помещение LF?
marmyshev added the question label May 10, 2018
leemuar commented Oct 15, 2018 •
Не понимаю необходимости autocrlf = true
Эта настройка «портит» содержимое справки, прав доступа, макетов и другие объекты. Зачем это нужно? Не лучше ли оставлять как есть, как выгрузила сама платформа?
The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in ut_rf/src/Roles/ЧтениеУстановкиБлокировокЯчеек/Rights.rights. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in ut_rf/src/Subsystems/Администрирование/Help/ru.html. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in ut_rf/src/AccumulationRegisters/УдалитьПартииЗатратНаВыпуск/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss.