Добавляю в репозиторий файл, git ругается следующим образом:
fatal: LF would be replaced by CRLF in Web/Scripts/Bootstrap/bootstrap.js
говорю хорошо не проблема, делаю следующее
- Открываю
bootstrap.jsвNotepad++; - Правка=>Формат Конца Строк=>Преобразовать в Win-формат (CRLF);
- Сохраняю файл.
Делаю вновь git add *.js:
fatal: LF would be replaced by CRLF in Web/Scripts/Bootstrap/bootstrap.js
git был настроен следующим образом:
git config --global core.autocrlf true
git config --global core.safecrlf true
Подскажите, как необходимо настроить git, чтобы избавиться от данной ошибки?
-
ассоциация: stackoverflow.com/q/20168639/2110496vp_arth– vp_arth2017年04月13日 04:31:43 +00:00Commented 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.
-
спасибо за ответ, на текущий момент в данном решении установил
autocrlfвfalse. я тоже подумал о том что notepad++ что то пропустил но как узнать где я не придумалBald– Bald2015年12月15日 08:14:56 +00:00Commented 15 дек. 2015 в 8:14 -
если у вас есть «под рукой» операционная система gnu/linux, можно воспользоваться программой hexdump для просмотра файла в «шестнадцатиричном» виде:
$ hexdump -C файл | less.aleksandr barakin– aleksandr barakin2015年12月15日 08:18:13 +00:00Commented 15 дек. 2015 в 8:18 -
у меня Windows но в нем есть Far и возможно просмотреть в hex в нем тоже присутствуетBald– Bald2015年12月15日 08:23:03 +00:00Commented 15 дек. 2015 в 8:23
Если вы работаете в jetBrains idea:
1) внизу справа, увидите такой значок формат конца строк файла в idea
Здесь вы можете поменять формат для текущего файла на crlf, а затем повторить git push
Вот полезная ссылка по настройке проекта
2) Если хотите изменить формат всех файлов, то в верхнем меню идеи найдите:
File> Line Separators> CRLF.
git config core.autocrlf input
Думаю настройки менять не стоит, сам использую такие же.
Akela_wolf на Habr (Git for Windows: работа с параметром core.autocrlf): "Если коротко: в Windows надо всегда ставить autocrlf=true. Это означает что в репозитории всегда будет храниться LF. А при извлечении из репозитория - произойдет преобразование в CRLF. И это обеспечит консистентность если в будущем появится еще один разработчик, работающий в Linux или MacOS. Или если даже единственный разработчик вдруг возьмет макбук/установит Linux и т.д. Остальное - как правило ненужная гибкость, которая востребована если вы точно понимаете что и зачем делаете."
А чтоб ошибка "fatal: LF.." не появлялась, необходимо будет настроить редактор как уже здесь посоветовала Julia Usanova. В VS Code это делается так же просто.
Проверено - всё работает.
Ещё одно интересное исследование - Использование Git. Параметр AutoCRLF
Эксперимент третий. Для начала немного предыстории. Git я использую под Windows (сборку msysgit) для переноса исходников из дома на работу. Но иногда получалась ситуация, когда приношу измененные исходники в главном репозитории, делаю git pull, чтобы обновить исходники в рабочей копии, команда без проблем выполняется, но затем, если даже ничего не трогать, то некоторые файлы помечаются как измененные. Я долго не мог понять в чем дело, просмотр изменений по сравнению с предыдущей версией показывал, что якобы изменились все строки в файлах, причем сами на себя. Команда git reset --hard ничего не меняла, даже откат изменений с помощью git checkout -- <измененный файл> ничего не давал, файлы оставались помечены как измененные. Сразу закралась мысль о переводах строк, но повторить ситуацию в лабораторных условиях, чтобы точно определить когда такое происходит, удалось только недавно, также случайно нашлось решение этой проблемы, но вопрос почему это происходит до сих пор открыт.
Стоит иметь ввиду.
Начните задавать вопросы и получать на них ответы
Найдите ответ на свой вопрос, задав его.
Задать вопрос