Я читаю git documentation о .gitattributes
, чтобы исправить мои проблемы со смешанными окончаниями строк и узнать, что есть два аналогичные настройки.
AUTOCRLF:
Преобразование конца строки Хотя Git обычно оставляет содержимое файла отдельно, он может быть настроен на нормализацию окончаний строк в LF в репозитории и, при желании, преобразовать их в CRLF при извлечении файлов.
Если вы просто хотите иметь окончания строк CRLF в своем рабочем каталоге независимо от репозитория, с которым вы работаете, вы можете установить config variable "core.autocrlf" без использования каких-либо атрибутов.
[core] autocrlf = true Это не приводит к нормализации текста файлов, но гарантирует, что текстовые файлы, которые вы вводите в хранилища имеют свои окончания строк, нормированные на LF, когда они добавлены и файлы, которые уже нормализованы в репозитории оставаться нормализованным.
И EOL:
Этот атрибут устанавливает определенный стиль окончания строки, который будет использоваться в рабочий каталог. Он позволяет преобразовывать конец строки без каких-либо проверки содержимого, эффективно устанавливая текстовый атрибут.
Установить строковое значение "crlf" Этот параметр заставляет Git нормализовать строку окончания этого файла при проверке и конвертировать их в CRLF, когда файл выгружен.
Устанавливается в строковое значение "lf" Этот параметр заставляет Git нормализовать строку окончания LF на checkin и предотвращает преобразование в CRLF, когда файл выдается.
Обратная совместимость с атрибутом crlfДля обратной совместимости атрибут crlf интерпретируется следующим образом:
crlf text
-crlf -text
crlf = input eol = lf
Кажется, что оба делают то же самое, но есть что-то о compatibility
. Означает ли это, что autocrlf
устарел и новый вкус eol
или что-то еще? В настоящее время у меня есть репозиторий с несколькими поврежденными файлами, которые я хочу преобразовать в представление crlf
. И вы видите, что документация путает нас, а не разъясняет вещи.
Что я должен применять в этой ситуации?