Git core.autocrlf строка, установленная по умолчанию
Я пытаюсь выяснить, что является значением по умолчанию для core.autoclrf
в Git, если пользователь не изменил этот параметр.
Я просмотрел документы, но не могу найти эту информацию. Не могли бы вы указать мне в правильном направлении?
В частности, при новой установке Git, Git автоматически преобразует окончание строк Windows в Unix при переходе на репо из системы Windows?
Спасибо!
Ответы
Ответ 1
Проверяя исходный код git, по умолчанию для core.autocrlf установлено значение false. (И было с момента первоначального введения свойства 13 февраля 2007 года, хотя с тех пор оно было преобразовано из статического значения в константу.)
Установщик Windows требует, чтобы вы выбрали значение для этого свойства, которое явно задано в конфигурации git system.
Ответ 2
Трудно найти это, но я смог выяснить по результатам проб и ошибок, что:
-
значение по умолчанию - "false"
-
Установщик Windows позволяет выбрать желаемое поведение, но по умолчанию (если вы устанавливаете без изменения предлагаемых настроек) он устанавливает значение "true" . Это не программное обеспечение по умолчанию, установщик устанавливает системный параметр core.autocrlf.
"false" означает отсутствие обработки на концах строки
"true" означает проверку как LF и проверку в соответствии с системой (CRLF для Windows и LF в Unix).
Когда используются Unix и Windows, рекомендуется использовать "false" в Unix (поскольку автоматическое преобразование может разорвать некоторые двоичные файлы, которые просматривают текстовые текстовые файлы, а Unix использует LF в любом случае) и "true" в Windows (в противном случае репозиторий заполняется CRLF, что вызывает проблемы совместимости).
Ответ 3
Вы можете перечислить все значения ключа конфигурации, выпустив эту команду
git config --list
И, как я вижу, значение по умолчанию
core.autocrlf = истина
Хотя это настройка, которую я выбрал (или, лучше сказать, "не касался" ), когда я устанавливал Git для Windows
Ответ 4
Для целей конкретной ситуации OP, а также в случае межплатформенных различий, глобального файла .gitconfig и локального файла .gitconfig лучшим способом определить это должно быть выполнение:
git config auto.crlf
после чистой установки Git выяснить, какие настройки преобладают.
Обратите внимание, что вывод команды будет меняться в зависимости от вашего текущего рабочего каталога (и его локального .gitconfig)
НОТА:
Комментарий, описывающий ту же команду в Unix, действительно работает, но автор постера использовал неверный ключ конфигурации. Это должен быть core.autocrlf, а не autocrlf.
Документация на git-scm.com/book/en/v2/Customizing-Git-Git-Configuration перечисляет три параметра, но не говорит, какой по умолчанию, и в моей чистой установке в git config Ubuntu --list не дает записи для autocrlf, git config --get autocrlf возвращает ошибку: ключ не содержит раздел: autocrlf. Предположительно это означает, что по умолчанию установлено значение false, но было бы хорошо, чтобы это было подтверждено.
Ответ 5
Если вы используете новейший установщик окна git, по умолчанию для параметра core.autoclrf будет false.