LF будет заменен CRLF в git - что это такое и важно? [дубликат]

Возможные Дубликаты:
git замена LF на CRLF

когда я создаю новое приложение rails, я вижу предупреждение в git о замене LF. Я делаю ГИТ инит git add .

а потом бум! Я вижу, что это всплывает почти для всех файлов. Обычно я просто продолжаю создавать свое приложение, и оно исчезает после многих изменений в файлах.

пример:

файл будет иметь исходные окончания строк в вашем рабочем каталоге. предупреждение: LF будет заменен CRLF в Gemfile.

файл будет иметь исходные окончания строк в вашем рабочем каталоге. предупреждение: LF будет заменен CRLF в Gemfile.замок.

файл будет иметь исходные окончания строк в вашем рабочем каталоге. предупреждение: LF будет заменен CRLF в README.

в чем разница между LF и Эти символы не экранируются?

должен ли я беспокоиться об этом в долгосрочной перспективе или просто игнорировать его и продолжать идти, как я обычно делаю?

2 ответов


в системах Unix конец строки представлен лентой (LF). В windows строка представлена с возвратом каретки (CR) и подачей строки (LF) таким образом (CRLF). когда вы получаете код от git, который был загружен из системы unix, у них будет только LF.

если вы хотите отключить это предупреждение, введите это в командной строке git

git config core.autocrlf true

если вы хотите принять разумное решение, как git должен справиться с этим,читать документацию

вот фрагмент

форматирование и пробелы

форматирование и пробелы являются одними из наиболее неприятных и тонкие проблемы, с которыми сталкиваются многие разработчики при совместной работе, особенно кросс-платформенный. Это очень легко для патчей или других совместная работа по внесению тонких изменений пробелов, потому что Редакторы молча представить их, и если ваши файлы когда-либо коснуться Системы Windows, их линия окончания могут быть заменены. В Git есть несколько параметры конфигурации для решения этих проблем.

core.autocrlf

если вы программируете на Windows и работаете с людьми, которые не являются (или наоборот), вы, вероятно, столкнетесь с проблемами с окончанием строки в некоторых точка. Это связано с тем, что Windows использует оба символа возврата каретки и символ linefeed для новых строк в своих файлах, тогда как Mac и В системах Linux используется только символ перевода строки. Это тонкое но невероятно раздражает факт кросс-платформенной работы; многие редакторы Windows автоматически заменяет существующие окончания строк в стиле LF на CRLF или вставьте оба символа конца строки, когда пользователь нажимает клавишу enter.

Git может отрегулировать это автоматическ-преобразовывать линии окончаний CRLF в LF когда добавить файл в индекс, и наоборот, когда он проверяет код в вашу файловую систему. Вы можете включить эту функцию с ядро.установка autocrlf. Если вы находитесь на машине Windows, установите значение true – этот преобразует окончания LF в CRLF при проверке кода:

$ git config --global core.autocrlf true

если вы находитесь в системе Linux или Mac, которая использует окончания строк LF, то вы не хочу, чтобы Git автоматически конвертировал их при проверке файлов; однако, если файл с окончаниями CRLF случайно вводится, тогда Вам может понадобиться Git, чтобы исправить это. Вы можете сказать Git преобразовать CRLF в LF на фиксации, но не наоборот, установив core.autocrlf в ввод:

$ git config --global core.autocrlf input

настройка следует оставить вас с окончаниями CRLF в проверках Windows, но LF заканчивается на системах Mac и Linux и в репозитории.

если вы программист Windows, выполняющий проект только для Windows, то вы смогите повернуть эту функциональность, записывая возвращения экипажа в репозиторий, установив значение конфигурации в false:

$ git config --global core.autocrlf false

Если вы хотите, вы можете отключить эту функцию в конфигурации git core, используя

git config core.autocrlf false

но было бы лучше просто избавиться от предупреждений, используя

git config core.autocrlf true