git - tag - lf will be replaced by crlf что это




LF будет заменен CRLF в git-что это такое и это важно? (2)

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

Когда я создаю новое приложение для рельсов, я вижу предупреждение о замене LF. Я делаю git init git add.

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

Пример:

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

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

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

В чем разница между LF и CRLF?

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


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

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

git config core.autocrlf true

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

Вот фрагмент

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

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

core.autocrlf

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

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

$ git config --global core.autocrlf true

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

$ git config --global core.autocrlf input

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

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

$ git config --global core.autocrlf false

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

git config core.autocrlf false

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

git config core.autocrlf true






git