есть ли в репозитории git собственное локальное значение для core.autocrlf, которое переопределяет глобальное?

В соответствии с этим вопросом я понимаю, что core.autocrlf=true в git вызовет CRLF на ЛФ-переводы.

Однако, когда я набираю: git config core.autocrlf

Я вижу: ложь

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

Warning: CRLF will be replaced by LF in File1.X.
The file will have its original line endings in your working directory.

Я предполагаю, что копия файла репо уже имеет значение «autocrlf = true».

Вопросы: A. Как узнать, использует ли файл или репозиторий git AutoCrlf? Б. Как мне отключить autocrlf?


person Warren P    schedule 09.09.2012    source источник
comment
Я хотел бы знать, можете ли вы иметь локальную копию файла .gitattributes, которую вы НЕ регистрируете в системе управления версиями? Я хотел бы, чтобы некоторые репозитории были настройками стиля Windows, и только 1 репозиторий был в стиле LINUX, не заставляя всех пользователей этого репо использовать LINUX. Это возможно?   -  person atom88    schedule 21.08.2020
comment
Можете ли вы установить глобальную настройку git, которая применяется только локально к определенному каталогу (например, REPO)? Я хочу, чтобы некоторые репозитории были WINDOWS, а некоторые - окончаниями строк в стиле LINUX?   -  person atom88    schedule 21.08.2020


Ответы (1)


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

На Github есть хорошая страница по этому поводу: https://help.github.com/articles/dealing-with-line-endings

Короче говоря, вы можете использовать текстовый атрибут, чтобы установить окончания строк для определенного расширения файла. Например, для принудительного преобразования файлов sln в CRLF потребуется следующая строка в файле .gitattributes:

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
person mlangsworth    schedule 23.10.2012
comment
Верно... итак... что бы я добавил в .gitattributes, что было бы эквивалентно core.autocrlf=false в моей глобальной конфигурации? - person Garret Wilson; 11.08.2015
comment
Так будет ли следующее в .gitattributes эквивалентно core.autocrlf=false? * -text - person Garret Wilson; 12.08.2015
comment
Нет. .gitattributes также влияет на возможность слияния, если вы удалите двоичный файл. - person jhclark; 16.06.2017