2016-09-09 6 views
10

Я пытаюсь выяснить, что является значением по умолчанию для core.autoclrf в Git, если пользователь не изменил эту настройку.Git core.autocrlf line finished default default

Я просмотрел документы, но не могу найти эту информацию. Не могли бы вы указать мне в правильном направлении?

В частности, при новой установке Git Git автоматически преобразует окончание строк Windows в Unix при совершении репо из системы Windows?

Спасибо!

+0

core.autocrlf not core.clrf –

+0

Документация на https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration содержит три варианта, но не говорит, что является значением по умолчанию, и на моя чистая установка на Ubuntu 'git config --list' не дает записи для' autocrlf', 'git config --get autocrlf' возвращает' error: ключ не содержит раздел: autocrlf', поэтому я публикую награду. Предположительно это означает, что значение по умолчанию неверно, но было бы хорошо, если бы это подтвердилось. – user568458

ответ

-1

Если вы используете новейший установщик окна git, опция default.autoclrf по умолчанию - false.

+8

Интересно, thx! где ты нашел эту информацию? – Pensierinmusica

+0

Это неправда, по крайней мере, не с git 2.15.0.windows.1, которая поставляется с Git Bash. – user2061057

-1

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

git config --list 

И, как я вижу по умолчанию

core.autocrlf=true

Хотя это установка я выбрал (или лучше сказать " не касался "), когда я устанавливал Git для Windows

+0

'git config --list' отображает только те значения, которые были явно заданы.На данный момент, похоже, нет способа получить значение по умолчанию для опции git config. См. [Этот ответ] (https://stackoverflow.com/a/33720449/266309) для получения более подробной информации. – waldyrious

+0

@ waldyrious, что, если он не был явно установлен? И если он всегда явно задан по умолчанию и не был установлен с тех пор, это будет работать. например Я никогда не устанавливал autocrlf, и я вижу, что он указан там со значением, так что это значение по умолчанию в моей установке git, core.autocrlf = true – barlop

+0

Почему downvotes? Я просто проверил, что это действительно так (git version 2.15.0.windows.1). Если я удалю свои глобальные '.gitattributes',' git config -list' показывает 'core.autocrlf = true'. Если я установил его в значение «false», этот новый параметр появится как последняя строка на выходе и, таким образом, переопределит значение по умолчанию. – user2061057

4

Проверка git source code, по умолчанию для core.autocrlf установлено значение false. (И было с момента первоначального введения свойства на Feb 13, 2007, хотя с тех пор оно было преобразовано из статического значения в константу.)

Установщик Windows требует, чтобы вы выбрали значение для этого свойства, которое явно задано в git system config.

0

трудно найти это указано, но я мог бы выяснить методом проб и ошибок, что:

значение
  • по умолчанию является «ложным»

  • установщик Windows, позволит вам выбрать желаемое поведение, но по умолчанию (если вы устанавливаете без изменения предлагаемых настроек), он устанавливает значение «true». Это не программное обеспечение по умолчанию, установщик устанавливает настройку системы core.autocrlf.

«ложь» означает отсутствие обработки на линии окончаний «истина» означает проверку в качестве НЧ и проверки в соответствии с системой (CRLF на Windows, и LF на Unix).

При использовании Unix и Windows рекомендуется использовать «false» в Unix (поскольку автоматическое преобразование может разорвать некоторые двоичные файлы, которые просматривают текстовые текстовые файлы, а Unix использует LF в любом случае) и «true» в Windows (в противном случае репозиторий заполнен CRLF, что вызывает проблемы совместимости).

Смежные вопросы