Переопределить.gitattributes text=auto в Windows

Это довольно не интуитивно понятно:

C:\python-tdl\examples\termbox>git config core.autocrlf
false

C:\python-tdl\examples\termbox>git commit termbox.py
warning: LF will be replaced by CRLF in examples/termbox/termbox.py.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in examples/termbox/termbox.py.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in examples/termbox/termbox.py.
The file will have its original line endings in your working directory.
Aborting commit due to empty commit message.

По данным различных СМИ с core.autocrlf=false не должно быть никакого перевода строки.

В корне проекта я обнаружил .gitattributes с линией:

# Auto detect text files and perform LF normalization
* text=auto

Если я это прокомментирую, предупреждение исчезнет. Вопрос - как я могу это переопределить .gitattibutes настройка автоматически?

2 ответа

Решение

.gitattributes переопределяет все параметры конфигурации, поэтому его нельзя переопределить; это "переопределение", так сказать. Хотя вы можете просто удалить строку, это приведет к непоследовательному поведению на машинах других разработчиков, если они имеют core.autocrlf=true, Поэтому лучше всего было бы добавить следующую строку в .gitattributes: * -text, Это отключит обработку CRLF для всех файлов.

По крайней мере, в современных версиях Git, .git/info/attributes (или же $GIT_DIR/info/attributes) переопределяет .gitattributes для локальной конфигурации.

использование * !text использовать значение core.autocrlf, или же * -text не принуждать к обращению.

Смотрите документацию для gitattributes и text атрибут

Также обратите внимание: core.eol, eol атрибут

Другие вопросы по тегам